swift access level(访问级别),open, public, internal fileprivate, private

在swift3.0之后,swift提供了open, public, internal fileprivate, private五种控制访问权限的修饰符。

private:(最低级别的权限)私有,修饰类的话当前文件可访问,修饰变量的话,实体内部或者extension内可访问

internal:模块内访问(模块:框架或独立的应用程序)

fileprivate:定义实体(class, struct, enum等)的源文件内访问

public: 公共访问,在模块内和模块外(通过import)都可以 访问

open: (最高级别的权限): 模块内和外都可以访问(同public), 只能修饰类和类内部的成员,不能修饰struct、enum等

访问级别由高到低的顺序:open > public > internal > fileprivate > private

public和open的区别

1. 除open外,public以及访问级别小于public的修饰符,修饰的类和类成员只能在定义的模块内被继承和被override

2. open修饰的类和类成员,在定义模块内,还有模块之外(import进来),都可以被继承和被override

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