私有 class 成员可在 class 外部访问

Private class member accessible outside class

为什么我们允许为私有 class 中的成员分配 public 访问说明符,即下面代码中的 incorrectVariable:

我的代码没有正确给出编译错误和运行,我的代码是:

private class C {
    public var incorrectVariable = "SomeString"
    var a = 5
    func fooFun() -> Int {
        self.a += 1
        return self.a
    }
}

var obj = C().a
print(obj)
obj = C().fooFun()
print(obj)

如果您使用同一文件创建私有 class 对象,则没有问题。私有 class 无法在其他文件中访问。

有关详细信息,请参阅此访问控制 link