Swift 中类和结构体的深入解析
1. 访问控制
在 Swift 中,我们可以通过在实体定义前添加访问级别名称来定义访问级别。以下是一些示例代码:
private struct EmployeeStruct {}
public class EmployeeClass {}
internal class EmployeeClass2 {}
public var firstName = "Jon"
internal var lastName = "Hoffman"
private var salaryYear = 0.0
public func getFullName() -> String {}
private func giveRaise(amount: Double) {}
访问控制存在一些限制,其目的是确保 Swift 中的访问级别遵循一个简单的原则:任何实体都不能基于访问级别更低(更严格)的实体来定义。具体来说,当一个实体依赖于访问级别较低的另一个实体时,我们不能为该实体分配更高(限制更少)的访问级别。例如:
- 当方法的某个参数或返回类型的访问级别为 private
时,我们不能将该方法标记为 public
,因为外部代码无法访问 private
类型。
- 当类或结构体的访问级别为 private
时,我们不能将其方法或属性的访问级别设置为 public
,因为当类为 private
时,