Swift入门:访问控制

2020-03-19 20:46:53 浏览数 (1)

访问控制允许您指定结构体和类中的哪些数据应公开给外部世界,您可以选择5个修饰符:

关键字

简单描述

open

公开权限, 最高的权限, 可以被其他模块访问, 继承及复写。

public

公有访问权限,类或者类的公有属性或者公有方法可以从文件或者模块的任何地方进行访问。无法在其他模块被重写方法/属性或被继承。

fileprivate

可以在同一个物理文件中访问。如果超出该物理文件,属性和方法就不能被访问。

private

私有访问权限,被private修饰的类或者类的属性或方法可以在同一个物理文件中的同一个类型(包含extension)访问。如果超出该物理文件或不属于同一类型,那么有着private访问权限的属性和方法就不能被访问。

internal

Swift默认访问权限,模块内部可以访问,超出模块内部就不能被访问了。

大多数情况下,您不需要指定访问控制,但有时您会希望显式地将属性设置为私有,因为它会阻止其他人直接访问它。这是很有用的,因为您自己的方法可以使用该属性,但其他方法不能,从而迫使它们通过您的代码执行某些操作。

要声明某个属性为私有,如下示例:

代码语言:javascript复制
class TaylorFan {
    private var name: String?
}

本文来自Hacking with Swift 给 swift 初学者的入门课程 Swift for Complete Beginners 的 Access control

0 人点赞