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
相关问题
什么PolarDB实例有知道吗?
1758浏览 • 1回复 待解决
首选项获取实例实例是否为单例
144浏览 • 1回复 待解决
如何判断某个应用是否为系统应用
387浏览 • 1回复 待解决
如何判断一个对象实现了某个接口
143浏览 • 1回复 待解决
DataAbilityHelper.creator()创建实例失败
2278浏览 • 1回复 待解决
rds读写分离需要几个实例 ?
765浏览 • 1回复 待解决
如何判断JS对象中是否存在某个
358浏览 • 1回复 待解决
是否有无网判断接口,有人知道吗?
275浏览 • 1回复 待解决
rds读写分离需要几个实例
1057浏览 • 1回复 待解决
onTouch事件是否可以判断滑动方向
267浏览 • 1回复 待解决
xargs命令中传多个参数实例
7373浏览 • 1回复 待解决