一、各个修饰的区别
1. private
绝对私有,除了在当前类中可以访问外,在其他类或该类的扩展中都不能访问
2. fileprivate
文件私有,可以在当前类文件中访问,在其他文件中不能访问
3. internal
默认访问级别,可写可不写,可以在整个模块内被访问。
如果是框架或者库代码,则在整个框架内部都可以访问,框架由外部代码所引用时,则不可以访问。
4. public
可以被任何人访问。但其他模块中不可以被 override 和继承,而在模块内可以被 override 和继承。
5. open
可以被任何人使用,包括 override 和继承。