有什么方法可以解决只允许最多扩展一个其他类的问题。
class Bar {
doBarThings() {
//...
}
}
class Bazz {
doBazzThings() {
//...
}
}
class Foo extends Bar, Bazz {
doBarThings() {
super.doBarThings();
//...
}
}
目前这是不可能的,TypeScript将给出错误。通过使用接口(interface),可以用其他语言解决此问题,但是用TypeScript解决这些问题是不可能的。
欢迎提出建议!
最佳答案
使用接口(interface)可以做到这一点:
interface IBar {
doBarThings();
}
interface IBazz {
doBazzThings();
}
class Foo implements IBar, IBazz {
doBarThings() {}
doBazzThings(){}
}
但是,如果您想以
super
/base
的方式实现此目标,则必须做一些不同的事情,如下所示:class FooBase implements IBar, IBazz{
doBarThings() {}
doBazzThings(){}
}
class Foo extends FooBase {
doFooThings(){
super.doBarThings();
super.doBazzThings();
}
}