Swift 访问控制学习笔记

在 Swift 中,访问控制是通过限定实体对其他代码的可见性来保障应用程序的安全性和正确性。Swift 提供了 5 种不同的访问级别,包括:开放访问、公开访问、内部访问、文件私有访问和私有访问。

开放访问

开放访问是最高访问级别,只在框架模块中使用。如果声明为开放访问级别,则可以在任何源文件中使用,包括不同的模块和应用程序。被标识为开放的类和方法可以被子类重写或者覆盖。

swiftCopy Code
open class MyClass { open func myMethod() {} }

公开访问

公开访问也可以在任何源文件中使用,但是不能夸越模块边界访问。被标识为公开的类和方法可以在同一个模块中的任何地方访问,但是不能被子类重写或者覆盖。

swiftCopy Code
public class MyClass { public func myMethod() {} }

内部访问

内部访问只能在同一模块的源文件中使用。被标识为内部访问的类和方法只能在同一个模块的任何地方访问,不能夸越模块边界。

swiftCopy Code
internal class MyClass { internal func myMethod() {} }

文件私有访问

文件私有访问的作用范围是整个源文件,不能在文件外部访问。被标识为文件私有访问的类和方法只能在同一个源文件中访问,不能被其他源文件或者模块访问。

swiftCopy Code
fileprivate class MyClass { fileprivate func myMethod() {} }

私有访问

私有访问是 Swift 中最严格的访问级别,只能在类或结构体内部使用。被标识为私有访问的类和方法只能在同一个源文件中访问,不能被其他源文件或者模块访问,也不能被子类重写或者覆盖。

swiftCopy Code
private class MyClass { private func myMethod() {} }

以上就是 Swift 访问控制的五种不同级别。在实际开发中,了解这些访问级别的作用非常重要,可以保障应用程序的安全性和正确性,同时也便于模块化的管理和维护。