typescript - 抽象类上的抽象静态方法
我记得能够为一个抽象类提供接口,类似这样,但我在网上找不到那段代码。我在这里无法做到吗:
interface AbstractParent {
staticMember: () => boolean
}
abstract class AbstractParent {
static example() {
return this.staticMember()
}
}
class Utilize extends AbstractParent {
static staticMember() {
return true
}
}
console.log(Utilize.example())
操场
抽象类可以要求有静态方法吗?
答案#1
你也可以尝试将 this.staticMember() 替换为 Utilize.staticMember():Playground
理想情况下,你希望使用 static abstract staticMember。但不幸的是,它尚不支持,而且似乎没有好的方法来实现这一点。
查看我们的这些讨论:
- 建议:在类中添加抽象静态方法,在接口中添加静态方法
static abstract方法和属性- 允许为类的静态部分指定接口实现子句
答案#2
这可以正常工作,但不能确保 Utilize 实现了 staticMember 方法。
abstract class AbstractParent {
static staticMember: () => boolean
static example() {
return this.staticMember()
}
}
class Utilize extends AbstractParent {
static staticMember() {
return true
}
}
console.log(Utilize.example())
