隐藏对子类中父级属性的访问

Eri*_*ith 6 oop ios swift

我觉得这应该相对简单,但我找不到实现它的方法.

我想说

class Parent {
   public var file: PFFile?
}
Run Code Online (Sandbox Code Playgroud)

和一个子类

class Child : Parent {
    // some functionality that hides access to super.file
}
Run Code Online (Sandbox Code Playgroud)

问题是我不能搞乱Parent类,但我不希望任何使用Child类的人有权访问'file'.我怎样才能在Swift中实现这一目标?

Usa*_*ama 0

根据Swift 文档

\n\n
\n

您可以通过将方法、属性或下标标记为 Final 来防止其被覆盖\n。为此,请在方法、属性或下标\xe2\x80\x99s 引入关键字(例如final\n var、final func、final class func 和final 下标)之前写入final 修饰符。

\n
\n\n

所以你可以将父类声明为

\n\n
class Parent {\n   final var file: PFFile?\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

或者如果你不能修改父类那么也许这会起作用

\n\n
class Child : Parent {\n   override private final var file: PFFile?\n}\n
Run Code Online (Sandbox Code Playgroud)\n