访问控制总结如下:
实体:指被访问级别修饰的内容。
swift有五个访问级别,从高到低如下:
open:允许在定义实体的模块、其他模块中访问,只能用于类,允许其他模块进行继承、重写。
public:允许在定义实体的模块、其他模块中访问,不允许其他模块进行继承、重写。
internal:只允许在定义实体的模块中访问,不允许在其他模块中访问。
fileprivate:只允许在定义实体的源文件中访问。
private:只允许在实体的封闭声明中访问(在当前{}内部访问)。
-----------------------------------常见的几种访问级别设置(一)--------------------------------
注意:默认是internal级别
一个实体不可以被更低的访问级别修饰 总结如下:?
左边的东西定义右边的东西:
1.变量\常量类型的访问级别 >= 变量\常量的访问级别
2.参数类型和返回值类型 >= 函数
3.父类 >= 子类
4.父协议 >= 子协议
5.原类型 >= typealias
6.原始值类型、关联值类型 >= 枚举
7.定义类型A时用到的其他类型 >= 类型A
......
1.变量\常量类型的访问级别 >= 变量\常量的访问级别
2.参数类型和返回值类型 >= 函数
3.父类 >= 子类
4.父协议 >= 子协议
5.原类型 >= typealias
6.原始值类型、关联值类型 >= 枚举
7.定义类型A时用到的其他类型 >= 类型A