📅  最后修改于: 2023-12-03 15:35:12.859000             🧑  作者: Mango
在 Swift 中,访问控制用来限制其他源文件和模块中代码对你的代码的访问。
Swift 中有五种不同的访问级别:
open
和 public
都可以被其他模块调用和继承,但在细节上又有所不同。
open
修饰的类和方法可以被其他模块改写(override
)和继承,而 public
修饰的则不能。
open class MyClass {}
public class MyOtherClass {}
internal
是默认的访问级别,如果不指定就是 internal
。这个访问级别的成员可以在同一个模块的任何地方访问,但是在模块外部不可以访问。
internal class MyInternalClass {}
fileprivate
限制的是文件内的访问。这个访问级别的成员允许定义它们的全部实体在源文件内使用,但是在同一个文件夹的其他源文件中不能使用。
private
限制的是类内的访问。这个访问级别的成员只允许在定义它们的类或结构体内部使用,而在其他的代码块中不能使用。
fileprivate class MyFilePrivateClass {}
private class MyPrivateClass {}
以上就是 Swift 中的访问控制。要想深入研究的话,建议去看一下官方文档。