为什么我可以在操场上设置私人场地

时间:2016-02-13 11:12:26

标签: swift swift2

我有一个简单的Vehicle类,其中有一个名为_odometer私有字段,然后,我有一个名为odometer的计算属性(它有setter & getter)。

我认为_odometer不应该设置,因为它是私有字段,但在游乐场,它可以设置,为什么?这是我的游戏代码:

enter image description here

如您所见,我创建了一个名为Vehicle的{​​{1}}实例。默认情况下volvo为500,但我可以在_odometer上直接将_odometer设置为 0 ,当打印出“里程表”时,它是 0 为什么我可以设置私有字段?

1 个答案:

答案 0 :(得分:1)

Swift private在语义上与其他OO语言略有不同,它对源文件是私有的。

Swift Access Control中:

  

私人访问将实体的使用限制在其自己的定义中   源文件。使用私有访问来隐藏实现细节   一个特定的功能。