Swift的访问控制是基于组件(Module)和源文件(soucefiles)
组件(Module)
应用程序和引用的framework都算一个Module
源文件(soucefiles)
组件中的swift源文件。但需要注意的是:一个swift源文件可以包含多个类型、方法等的定义。
private
只能在当前类里可访问。fileprivate
在源文件里可访问,同一源文件可以类之间调用。internal(默认访问级别,可不写)
源代码所在的组件(Module)可访问。如在framwork中,App就不能访问public
全局可访问。但只能在所在的组件(Module)中继承(subclassed)和重写(overridden)open
全局可访问。全局均可继承(subclassed)和重写(overridden)
排序
排序及跨度
private < fileprivate < internal < public < open
类私有:private
跨类:fileprivate < internal < public < open
跨源文件:internal < public < open
跨组件:public < open