如何覆盖父类从打字稿中的孩子导入的类?
问题描述:
我有一个扩展父级的子类。父级导入一个我想在子级中重写的类。这可能吗?如何覆盖父类从打字稿中的孩子导入的类?
代码结构如下所示:
家长:
import {TestClass} from './TestClass';
export class Parent {
/** etc **/
}
儿童:
import {Parent} from './Parent';
export class Child extends Parent {
constructor() {
super();
}
//how to import/override TestClass from Parent?
}
答
在你的榜样,Parent
实际上并没有延伸TestClass
,但如果它没有你会能够从Child
类中覆盖Parent
和TestClass
中的方法 - 缩短的示例:
class TestClass {
methodOne() {
return 1;
}
}
class Parent extends TestClass {
methodTwo() {
return this.methodOne() + 1;
}
}
class Child extends Parent {
methodOne() {
return 11;
}
}
var x = new Child();
// 11 (rather than 1)
alert(x.methodOne());
// 12 (rather than 2)
alert(x.methodTwo());
注意对父母的方法,它调用的方法methodOne
,如何返回根据孩子methodOne
的价值,而不是测试类methodOne
。
你不能,你必须重写引用TestClass的*方法*。 – jonrsharpe