5.swift中open和public的用法(重点:open,最大在其他模块可以继承,访问,重载,public,在其他模块可以访问,但不能被重载和继承,internal只能在本模块中访问)

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

权限范围最低的,只能在当前类里面访问,分类也不行.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。