可见性
open>public>internal>fileprivate>private
open
可以在任何地方访问、继承和重写
对外需要能够子类化的类和方法、属性用open
如果framework的类设计成基类,那么一般修饰为open,表示可以被外部子类化和重写。
public
可以在任何地方被访问,在其他module中不能被继承和重写
因此如果第三方框架是用public限定的方法是不能被覆盖的。相关的类也不能被继承扩展。
internal
默认访问级别(可以不写),在整个module内都可以被访问
fileprivate
可以在同一个文件被访问、继承和重写
private
只能在本类被访问和使用
其他
- 函数的访问控制不能比它的参数或返回类型更高。
网友评论