【发布时间】:2015-09-07 12:36:41
【问题描述】:
你好我想实现这个场景:
class A implements InterfaceForA
{
a():void
{
this.b();
}
}
Class B extends A
{
private b():void
{
console.log('Hi');
}
}
但它会抛出:
错误 TS2339:类型“A”上不存在属性“b”。
所以我更新了我的课程,现在它抛出了:
错误 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++ 中,我将 A 类中的方法 b() 设置为虚拟私有,这样问题就解决了。在 JS 中这根本不是问题。如何在 TypeScript 中做到这一点?
【问题讨论】:
标签: typescript private overloading