在 Swift 语言中,访问修饰符有五种,分别为 fileprivate,private,internal,public 和 open
各个修饰符区别
private
private 访问级别所修饰的属性或者方法只能在当前类里访问。
注意: Swift4 中,extension 里也可以访问 private 的属性。
fileprivate
fileprivate 访问级别所修饰的属性或者方法在当前的 Swift 源文件里可以访问
internal
默认访问级别,internal修饰符可写可不写
internal 访问级别所修饰的属性或方法在源代码所在的整个模块都可以访问。
open
公开权限, 最高的权限, 可以被其他模块访问, 继承及复写。
public
公有访问权限,类或者类的公有属性或者公有方法可以从文件或者模块的任何地方进行访问。
那么什么样才能成为一个模块呢?一个App就是一个模块,一个第三方API, 第三等方框架等都是一个完整的模块,这些模块如果要对外留有访问的属性或者方法,就应该使用public的访问权限。
public的权限在Swift 3.0后无法在其他模块被复写方法/属性或被继承。
5种修饰符访问权限排序
从高到低排序如下:
open > public > interal > fileprivate > private
网友评论