Swift 4.0中访问控制权限由低至高提供了 private,fileprivate,internal,public 和 open 五种。默认的 internal 在绝大部分时候是适用的,但是对于一个严格的项目来说,精确的最小化访问控制级别对于代码的维护来说还是相当重要的。尤其是当我们开发SDK时,这些访问权限就更为重要了。
- private: private 修饰的属性或方法只能在当前类中访问。子类都无法访问;
- fileprivate: fileprivate 修饰的属性或方法可以在当前文件内访问,不管是否在本类的作用域;
- internal: internal 修饰的属性或方法在整个模块或者框架内都可以访问;
- public: 被 public 标记的内容不能在别的框架中重写和继承;
- open: 被 open 标记的内容能在别的框架中重写和继承;