open
在 Module 内部和外部都可以被访问和继承、重写
public
在 Module 内部可以被访问和继承、重写,在外部只能访问
internal 默认
在 Module 内部可以访问
fileprivate
只能在定义的文件内使用
private
只在封闭声明中使用和 extension 声明所在的文件
Final
在 Module 任何地方都不能不能被继承、重写
参考:https://medium.com/@abhimuralidharan/swift-3-0-1-access-control-9e71d641a56c