nou*_*ass 7 javascript inheritance interface class typescript
有什么方法可以解决只允许扩展至多一个其他类的问题.
class Bar {
doBarThings() {
//...
}
}
class Bazz {
doBazzThings() {
//...
}
}
class Foo extends Bar, Bazz {
doBarThings() {
super.doBarThings();
//...
}
}
Run Code Online (Sandbox Code Playgroud)
目前这是不可能的,TypeScript会给出错误.可以通过使用接口来克服其他语言中的这个问题,但是在TypeScript中无法解决问题.
欢迎提出建议!
这可以通过接口实现:
interface IBar {
doBarThings();
}
interface IBazz {
doBazzThings();
}
class Foo implements IBar, IBazz {
doBarThings() {}
doBazzThings(){}
}
Run Code Online (Sandbox Code Playgroud)
super但如果你想以/ 的方式实现这一点base,那么你必须做一些不同的事情,如下所示:
class FooBase implements IBar, IBazz{
doBarThings() {}
doBazzThings(){}
}
class Foo extends FooBase {
doFooThings(){
super.doBarThings();
super.doBazzThings();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9232 次 |
| 最近记录: |