swift 权限控制关键词
2018-07-18 本文已影响0人
需要药
权限控制级别,根据控制力度从大到小排序
private> fileprivate > internal > public > open
open/public : open修饰的实体可被其他模块访问,这里模块的意思是其他的target,或者第三方库
open和public区别:public修饰的类和类成员,只可以在定义此类的模块中子类化和重写,open修饰的类和类成员,可以在定义此类的模块或者引入此类的其它模块中重写和子类化
internal:默认的控制权限,internal修饰的实体可在本模块内访问
fileprivate: 文件私有访问权限,被fileprivate修饰的类,类成员只能在此类或者同一文件中此类的subclass中访问
private:私有访问权限,被private修饰的类,类成员,只能在当前类里被访问,或者类的(extension)