访问控制(一)

访问控制总结如下:

实体:指被访问级别修饰的内容。

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

 

posted @ 2019-07-29 17:26  白色茉莉  阅读(142)  评论(0编辑  收藏  举报