使用相同的超级原型从对象访问受保护的成员表示错误

时间:2016-07-27 19:48:09

标签: typescript visual-studio-code typescript1.8

我不确定如何提出这个问题。这个例子更容易理解。

tsc --version > 1.8.10

  

TLDR:我想知道这是否是我的设计错误

我有一个名为A的超级原型,protected成员a。 我有两个名为BC的构造函数,每个构造函数都来自AA是他们的原型?)

B的实例中创建了C的实例,我尝试访问新{{1}实例的公共受保护成员a }}。在 Visual Studio代码中,该行会出现以下错误:

  

属性B受到保护,只能通过类a的实例访问。

您可以在playground

中尝试以下代码
C

我想知道这是否是我的设计错误。也许abstract class A { protected a = 'a'; } class B extends A {} class C extends A { c: B; constructor() { super(); this.c = new B(); } get() { return this.c.a; } } 实例不应该访问C通常继承的受保护成员,即使生成的 js 转换应该在技术上完美运行,我知道{{1}的实例会有一个成员B

1 个答案:

答案 0 :(得分:1)

只要您c:B c成员B成员privateprotected成员scalaz-stream的任何访问权限都是fs2的公共成员(即您无法访问pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git', :branch => 'swift3' post_install {1}}成员)。