📜  Swift-访问控制(1)

📅  最后修改于: 2023-12-03 15:35:12.859000             🧑  作者: Mango

Swift 访问控制

在 Swift 中,访问控制用来限制其他源文件和模块中代码对你的代码的访问。

Swift 中有五种不同的访问级别:

  • open
  • public
  • internal
  • fileprivate
  • private
open 和 public

openpublic 都可以被其他模块调用和继承,但在细节上又有所不同。

open 修饰的类和方法可以被其他模块改写(override)和继承,而 public 修饰的则不能。

open class MyClass {}

public class MyOtherClass {}
internal

internal 是默认的访问级别,如果不指定就是 internal。这个访问级别的成员可以在同一个模块的任何地方访问,但是在模块外部不可以访问。

internal class MyInternalClass {}
fileprivate 和 private

fileprivate 限制的是文件内的访问。这个访问级别的成员允许定义它们的全部实体在源文件内使用,但是在同一个文件夹的其他源文件中不能使用。

private 限制的是类内的访问。这个访问级别的成员只允许在定义它们的类或结构体内部使用,而在其他的代码块中不能使用。

fileprivate class MyFilePrivateClass {}

private class MyPrivateClass {}

以上就是 Swift 中的访问控制。要想深入研究的话,建议去看一下官方文档。