Swift 访问控制

2017-07-27  本文已影响15人  JaiUnChat

模组 Module

模组 是代码分布的单一单元。比如一个被作为一个单位编译和发布,别且可以被其它模组用import导入的框架或应用。
Xcode中的每个编译目标(build target)比如app bundle或者framework在Swift中都是被作为单独的模组。
源文件source file 是模组中的单独Swift源代码文件也就是应用或者框架的一个文件.

访问等级 Access Levels

Swift 提供了五种不同的访问等级。

Open访问等级仅用在类和类成员,与Public的区别如下。

把类标记为Open就意味着已经需要考虑好了外部模组将它作为基类的影响。

简而言之,Open定义的类可以在导入它的模组中重写定义子类,类成员可以重写。 而Public和其它级别都是不可以。

选择

在被导入的时候支持重写 -> Open
在被导入的文件可以访问 -> Public
在自己的模组中支持所有文件访问 -> Internal
在自己所在文件中可以访问 -> Fileprivate
在自己所定义的部分可以访问(扩展都不可以访问)-> Private

上一篇 下一篇

猜你喜欢

热点阅读