swift3.0中访问控制一共有5个关键字
swift3.0中访问控制一共有5个关键字
1. open:可以在任何地方访问、继承和重写
2. public:可以在任何地方被访问,在其他module中不能被继承和重写(一会在详细介绍一下什么是module内和module外)
3. internal:默认访问级别,在整个模块内都可以被访问
4. fileprivate:其修饰的属性可以再同一个文件被访问、继承和重写,同一个文件指同一个swift文件,一个文件中可以有多个类
5. private:其修饰的属性和方法只能在本类被访问和使用,不包括扩展类
1、open(开放的)
访问权限最高的一个,可以被任何人访问,override以及继承,不限制范围.好多系统库的属性都有open修饰的
2、public(公共使用)
仅次于open范围,也是可以被任何人访问,但是只限在同一module下才能被override和继承.好多系统库协议的函数都有public修饰的
3、internal(内部的,默认)
默认的权限范围,即不写的时候默认是internal修饰的。在同一module可以访问。
4、fileprivate(file+private)
同一个swift源文件下可以访问,一个.swift文件下,不同类之间是可以访问的.
4、private
权限范围最低的,只能在当前类里面访问,分类也不行.