HarmonyOS ArkTS 关于重载的实现方式

HarmonyOS
4天前
浏览
收藏 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
微信
回复
4天前
相关问题
关于har和hsp重载使用
1056浏览 • 1回复 待解决
ArkTS方法是否支持重载
2452浏览 • 1回复 待解决
ArkTS实现时钟方式有哪些?
1177浏览 • 1回复 待解决
关于图文混排实现方式有哪些
363浏览 • 1回复 待解决
关于实现图文混排几种方式优劣点
516浏览 • 1回复 待解决
请教一下如何实现函数重载
784浏览 • 1回复 待解决
HarmonyOS 关于ArkTS!使用
739浏览 • 1回复 待解决
重载该如何实现?有人知道吗?
799浏览 • 1回复 待解决
arkts 关于异步问题
343浏览 • 1回复 待解决
ArkTs解决循环引用方式
2217浏览 • 1回复 待解决
HarmonyOS关于TS转ArkTS语法问题
427浏览 • 1回复 待解决
HarmonyOS 关于ArkTS UI样式文件疑问
383浏览 • 1回复 待解决
关于import应该使用哪种方式
1977浏览 • 1回复 待解决
关于处理父子组件间事件传递方式
462浏览 • 1回复 待解决
RichEditor添加、删除、重载图片
1082浏览 • 1回复 待解决
HarmonyOS 应用灰度设置实现方式
502浏览 • 1回复 待解决
HarmonyOS 分页列表实现方式
33浏览 • 1回复 待解决
Flutter 热重载方法有哪些?
362浏览 • 1回复 待解决