美文网首页
Swift访问控制(Open、Public、Internal、F

Swift访问控制(Open、Public、Internal、F

作者: 心灵的远足 | 来源:发表于2018-08-18 11:38 被阅读18次

其中 fileprivate 和 open 是 Swift 3 新添加的。由于过去 Swift 对于访问权限的控制,不是基于类的,而是基于文件的。这样会有问题,所以 Swift 3 新增了两个修饰符对原来的 private、public 进行细分。

1、Open

Open 具备最高的访问权限。其修饰的类和方法可以在任意 Module中被访问和重写;它是Swft3中新添加的访问权限。

2、Public

Public 的权限仅次于Open。与Open唯一的区别在于,它修饰的对象可以在任意Module中被访问,但不能重写。

3、Internal

Internal 是默认的权限。它表示只能在当前定义的 Module中访问和重写。它可以被个 Module中的多个文件访问,但不可以被其他 Module访问。

4、Fileprivate

File-private 是Swift3新添加的权限。其修饰的对象只能在当前文件中使用。例如,它可以被一个文件中的class、 extensIon和struct共同使用。

5、Private

Private 是最低级别的访问权限,它的对象只能在定义的作用域内使用。离开了这个作用域,即使是同一文件的其他作用域,也无法访问。

相关文章

网友评论

      本文标题:Swift访问控制(Open、Public、Internal、F

      本文链接:https://www.haomeiwen.com/subject/ygxfiftx.html