Swift 访问控制
Swift 的访问控制用于限制代码中实体(如类、结构体、枚举、属性、方法等)的可访问性,以便在模块和源文件内定义清晰的接口和实现部分。Swift 提供五种不同级别的访问控制:
Open(开放访问):
- 最高级别的访问控制。
- 只能作用于类和类成员,允许从所在模块和其他模块进行访问和子类化。
- 适用于需要被其他模块使用和继承的公共 API 类。
Public(公开访问):
- 可从任何模块进行访问,但不允许在其他模块中进行子类化或重写。
- 通常用于框架或模块的外部接口部分。
Internal(内部访问):
- 默认的访问级别。
- 只能在模块内部进行访问,通常用于定义模块的内部结构。
File-private(文件私有访问):
- 限制实体只能在它们定义的源文件内进行访问。
- 用于隐藏特定文件内实现的细节。
Private(私有访问):
- 最严格的访问控制级别。
- 限制实体只能在它们定义的作用域中以及定义的类型扩展中访问。
- 常用于隐藏某个类型的具体实现细节。
使用访问控制时,需要根据模块的设计需求选择合适的级别,以确保模块的安全性、可维护性和清晰性。访问控制符一般放置在声明前,如 private var name: String
。