2
你好,我想实现这样的场景:打字稿 - 重载私有方法
class A implements InterfaceForA
{
a():void
{
this.b();
}
}
Class B extends A
{
private b():void
{
console.log('Hi');
}
}
但它抛出:
错误TS2339:房产 'B' 不会在 'A' 型存在。
所以我更新了我的班,现在它抛出:
错误TS2415:类 'B' 正确扩展基类 'A'。类型具有私有属性'b'的单独声明。
随着代码:
class A implements InterfaceForA
{
a():void
{
this.b();
}
private b():void
{
console.log('Hello');
}
}
Class B extends A
{
private b():void
{
console.log('Hi');
}
}
在C++中,我将在类中设置的方法B()作为虚拟专用,和问题将得到解决。在JS中,它根本不是问题。如何在TypeScript中做到这一点?
在C++中, '私人虚拟' 不同于保护。它可以被重写,但不能从派生类中调用。 –
@AntonPilyak谢谢!很高兴知道。 – Andrew