HarmonyOS ArkTS 关于重载的实现方式

HarmonyOS
2024-12-18 17:23:32
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

可以使用可选参数实现重载效果:

export class Test {
  private name: string = '';
  private age: number;

  constructor(name?: string, age: number = 18) {
    if (name) {
      this.name = name;
    }
    this.age = age;
  }

  getAge(): number {
    return this.age;
  }

  getName() {
    return this.name;
  }

  hasSkill(skills?: Array<string> | string): string {
    let skillsMsg = '阅读';
    if (skills) {
      if (typeof skills === 'string') {
        skillsMsg += skills;
      } else {
        skills.forEach(s => {
          skillsMsg += '、' + s;
        });
      }
    }
    return '拥有的技能为:' + skillsMsg;
  }
}

// 调用示例
let t1 = new Test();
let t2 = new Test('t2Name');
let t3 = new Test('t3Name', 100);

console.log(`t1# name: ${t1.getName()} , age: ${t1.getAge()}, 能力有: ${t1.hasSkill()}`);
console.log(`t2# name: ${t2.getName()} , age: ${t2.getAge()}, 能力有: ${t2.hasSkill('算数')}`);
console.log(`t3# name: ${t3.getName()} , age: ${t3.getAge()}, 能力有: ${t3.hasSkill(['唱歌', '跳舞'])}`)
分享
微博
QQ
微信
回复
2024-12-18 18:37:46
相关问题
关于har和hsp重载使用
1440浏览 • 1回复 待解决
ArkTS方法是否支持重载
2836浏览 • 1回复 待解决
HarmonyOS ArkTS中运算符重载怎么写
287浏览 • 1回复 待解决
ArkTS实现时钟方式有哪些?
1798浏览 • 1回复 待解决
关于图文混排实现方式有哪些
724浏览 • 1回复 待解决
关于实现图文混排几种方式优劣点
966浏览 • 1回复 待解决
请教一下如何实现函数重载
1404浏览 • 1回复 待解决
HarmonyOS 关于ArkTS!使用
1266浏览 • 1回复 待解决
HarmonyOS 关于窗口沉浸式设置方式
410浏览 • 1回复 待解决
HarmonyOS 页面重载问题
237浏览 • 1回复 待解决
ArkTs解决循环引用方式
2604浏览 • 1回复 待解决
arkts 关于异步问题
719浏览 • 1回复 待解决
ArkTS关于反射用法
273浏览 • 1回复 待解决
HarmonyOS 方法重载
588浏览 • 1回复 待解决
HarmonyOS ArkTS关于类型定义
252浏览 • 1回复 待解决
HarmonyOS 关于仓颉和ArkTS问题
483浏览 • 2回复 待解决
HarmonyOS 关于arkts协议问题
281浏览 • 1回复 待解决
重载该如何实现?有人知道吗?
1021浏览 • 1回复 待解决
HarmonyOS 重载方法问题
682浏览 • 1回复 待解决
HarmonyOS 关于ArkTS和TS类型检测
251浏览 • 1回复 待解决