标签: swift swift2
我想在其子类中使用私有成员和超类的方法,但仍然不希望它们在实例级别上可见。好吧,我认为在Swift中没有这种可能性,因为它只有私有/内部/公共访问修饰符。但也许有些解决方法?
我听说过其他语言中流行的受保护修饰符,但它实际上与我的观点相反。所有语言都没有这种可能性吗?如果我经常在子类层次结构中需要这个东西,我是否做错了什么?
答案 0 :(得分:1)
您可以让子类访问其超类的私有成员但它必须与超类位于同一个文件中。隐私适用于文件外。文件中的任何内容都可以访问私有成员。这不直观。这是一个简单的游乐场来展示。由于Bar在同一文件中声明,因此可以访问Foo的{{1}}成员。
Bar
Foo
来自 Swift编程语言(Swift 2.1),访问级别,“私有访问将实体的使用限制在自己的文件中。”