arkTS 是否可以判断实例是某个接口的实例

interface A{ 
} 
 
class B implements A{ 
} 
 
let c = new B();

如何判断c是否是A的实现?

HarmonyOS
2024-04-28 00:38:50
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

implements类的函数重载需要在类中声明与所实现接口一致的函数重载声明,可以在interface A中声明一个方法或者属性,让class B实现,初始化c实例则可以调用进行判断,代码如下

export interface MainPoint { 
  imageX?:number 
  imageY?:number 
  isMainPoint():boolean 
} 
 
class ImagePoint implements MainPoint { 
  imageX?:number 
  imageY?:number 
  constructor(x:number,y:number) { 
    this.imageX = x 
    this.imageY = y 
  } 
  isMainPoint(): boolean { 
    return true 
  } 
}

使用判断场景

let point:ImagePoint = new ImagePoint(0,0) 
if(point.isMainPoint()){ 
  console.log('this.point is instance of MainPoint') 
}
分享
微博
QQ
微信
回复
2024-04-28 21:43:04
相关问题
首选项获取实例实例是否为单例
1948浏览 • 1回复 待解决
什么PolarDB实例有知道吗?
3820浏览 • 1回复 待解决
HarmonyOS Native 实例ArkTS 对象
136浏览 • 1回复 待解决
C++ 如何获取操作 Arkts 实例
925浏览 • 1回复 待解决
怎么判断某个customDialog是否弹出?
246浏览 • 1回复 待解决
ArkTS实例化与单例介绍
2948浏览 • 1回复 待解决
HarmonyOS判断Object中是否含有某个属性
949浏览 • 1回复 待解决
如何获取Preferences实例
377浏览 • 1回复 待解决
如何判断一个对象实现了某个接口
1409浏览 • 1回复 待解决
如何判断某个应用是否为系统应用
2249浏览 • 1回复 待解决
如何判断JS对象中是否存在某个
2314浏览 • 1回复 待解决
HarmonyOS 创建RN实例问题
389浏览 • 1回复 待解决