.
除了可以给属性、方法、加载器添加访问控制,还可以给类、结构体、和枚举。以及协议。Swift为了减少代码量,添加了默认的权限internal。Swift的访问控制是基于modules
和source files
modules:你可以通过import
导入的一个框架或者是一个程序。
source files:即Swift中单个文件。但是一个文件中通常会定义多个类。
open
open 修饰的 class 在 Module 内部和外部都可以被访问和继承
open 修饰的 func 在 Module 内部和外部都可以被访问和重载(override)
Public
public 修饰的 class 在 Module 内部可以访问和继承,在外部只能访问
public 修饰的 func 在 Module 内部可以被访问和重载(override),在外部只能访问
internal
默认属性不需要设置,该框架或者app内可以访问
fileprivate
文件内部可以访问
private
该类中使用
权限范围排列
open->public->internal->fileprivate->private。
参考资料
The Swift Programming Language-> Access Control