HarmonyOS 如何使用字符串映射调用实例方法?

如何通过一个字符串方法名字,例如:"run"【方法名字】,映射到这个run方法呢?

baseClass{
  exportMethod():[string]{}
}

classA extends baseClass{
  exportMethod():[string]{
    return ["run"]
  }

  run(){
    print("调用了run方法")
  }
}

我现在需要通过父类(baseClass)去调用子类(classA)的run方法,目前父类知道子类的方法名字“run”,如何通过这个字符串名字映射到这个方法去调用呢?

HarmonyOS
16h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

字符串映射方法,可以尝试如下方案:

class exp{
  fun:Record<string,Function>={};

  constructor() {
    this.fun={"Func1":this.Func1,'Func2':this.Func2}
  }
  Func1(a:number,b:boolean){
    console.log(a.toString())
  }
  Func2(a:number,b:boolean){
    console.log(a.toString())
  }
}
@Entry
@Component
struct Page {
  private Msg:exp=new exp()
  build() {
    Column({space:20}){
      Button("test")
        .type(ButtonType.Capsule)
        .onClick(()=>{
          this.Msg.fun["Func1"](888,true)
          this.Msg.fun["Func2"](999,false)
        })
    }.width("100%")
    .height("100%")

  }
}
分享
微博
QQ
微信
回复
14h前
相关问题
检查字符串是否以给定的字符串开头
549浏览 • 1回复 待解决
Web如何使用loadData加载复杂Html字符串
2364浏览 • 1回复 待解决
HarmonyOS将对象转换成字符串方法
613浏览 • 1回复 待解决
ResourceStr 类型如何转成字符串
291浏览 • 1回复 待解决
HarmonyOS字符串替换问题
908浏览 • 1回复 待解决
HarmonyOS 字符串显示异常
486浏览 • 1回复 待解决
HarmonyOS 如何解析json字符串
590浏览 • 1回复 待解决
HarmonyOS 如何支持html格式字符串
188浏览 • 1回复 待解决
字符串如何转为ArrayBuffer?
731浏览 • 1回复 待解决
HarmonyOS 替换字符串
0浏览 • 0回复 待解决
HarmonyOS 字符串翻转如何实现
50浏览 • 1回复 待解决
如何判断字符串是不是字母?
416浏览 • 1回复 待解决