为什么访问控制有用?

时间:2014-08-14 01:04:45

标签: swift private access-control

我已经阅读了Apple发布的iBook中有关访问控制的部分,但我不明白为什么需要或有用。

为什么我需要使用私有将部分代码隐藏到我应用中的其他代码文件中?

2 个答案:

答案 0 :(得分:9)

最重要的是,访问修饰符是一种传达有关如何使用API​​的意图的方法。通过标记某些私有内容,它不再显示为该类型接口的一部分,从而避免混淆哪些变量和函数打算使用,哪些仅仅是内部实现细节。

对于框架作者(如Apple,但也适用于任何大型团队环境),访问修饰符还提供了一种控制是否必须支持某些内容的方法。如果某些内容是私有的,那么使用相关框架的程序就无法使用它,因此框架的未来版本可以更改或删除它,而不必担心破坏现有应用程序。

最后,通过提供有关如何使用函数或变量的保证,访问修饰符允许编译器进行否则无法进行的优化。所有私人物品都可以被认为是最终的'例如,它可以通过允许内联和避免动态调度来显着提高性能。

答案 1 :(得分:1)

编写课程时,您希望为课程用户提供操作。这些是公共方法。实现这些时,将会有许多较小的方法,这些方法不会被其他类使用,也不会将它们设为私有,这是保险。此外,因为如果用户(可能是一个)它们的数量很少,则更容易确保它们的正确性。稍后,可以修改这些私有方法,重命名它们,删除它们并根据需要创建新方法,确信该类的任何用户都不会受到影响,因为没有其他类可以使用它们。

这种编写代码的方法称为“写入接口,而不是实现”。这是我们拥有的为数不多的原则之一。

@Catfish_Man所说的也是正确的,但这同样适用于单人项目。它允许我知道何时我必须考虑其他类实例可能如何受到更改的影响,或者我可以自由地进行更改。注意:一个开发学院说方法应该很小,小的我意味着大约七行代码。显然会有很多方法,大多数应该是私有的,因为它们不被其他类使用。