Swift 访问权限问题
2017-11-28 本文已影响2人
追逐_chase
Swift.png
访问控制
-
访问控制可以限定其他源文件或模块中的代码对你的代码的访问级别
-
Swift中访问控制模型基于模块和源文件,类这三个
-
模块:指的是独立的代码单元,框架或应用程序会作为一个独立的模块来构建和发布。在 Swift 中,一个模块可以使用 import 关键字导入另外一个模块。
-
源文件就是 Swift 中的源代码文件,它通常属于一个模块,即一个应用程序或者框架。尽管我们一般会将不同的 类型分别定义在不同的源文件中,但是同一个源文件也可以包含多个类型、函数之类的定义。
-
-
internal:默认 访问权限 子类可以继承
-
private:私有的 只有在当前类中才可以访问 (基于类的)
-
fileprivate:在当前源文件中可以访问 (基于原文件的 只要在这个文件内部 都可以访问)
-
public: 跨文件访问,修饰类 是 无法继承的 修饰方法 不可以重写的 overide
-
open:修饰的类 可以继承 修饰的方法 可以重写
OC中的权限
- @private 作用范围是自身类 作用域是:后面的所有成员变量
- @protected 作用范围在自身类和继承自己的子类,默认是此属性
- @public 可以写在任何地方
- @package