0

我想真正用 Swift 编写与以下代码等效的代码:

public class A {
    public fileprivate(set) a: Int = 0
}

这样我就可以做到:

public class B: A {
    public func updateA() { a = 1 }
}

当然不需要任何额外的 _a 成员。

可能吗?

旁注:我知道 public private(set) 的存在,但这会阻止通过继承进行写入。

4

1 回答 1

0

不,这仍然是不可能的,这也违反了访问控制范式

如果私有变量能够从外部设置而不是保持私有,您可以使用内部或公共

于 2018-09-11T07:57:26.323 回答