概述
Swift 中提供了五种不同的访问级别,分别为 open、public、internal、fileprivate、private。
open、public
- 相同点:可让实体被同一模块中所有实体访问,模块外也可以导入该模块来访问模块中的所有实体
- 区别:public只能在模块内被继承或重写
因此,如果在为其他开发者开发库的话,可能会希望使用 open、pulic。如果只希望框架用户使用某个类型和方法,而不希望他们继承或重写的话,就要使用public,而非open
internal
默认访问级别。实体能别统一模块内的任何实体访问,而不能被模块外的实体访问
fileprivate
限制实体只能在其定义的文件内访问
private
限制实体只能在其定义的作用域以及同一文件内的 extension 访问
网友评论