iOS @private、@protected、@public、
2023-02-17 本文已影响0人
搬砖的crystal
1.@private
代表私有,也就是只有自己有,别人谁都不可用,不可以继承的。
使用 @private 声明的变量:
-
@private变量只能在类内部调用,在类外无法访问 - 继承该类的子类也无法访问
2.@protected
相较上边的 private 而言,就没有那么自私了,它自己可以用,自己的子类也是可以共享的,是可以继承的。
-
@potected可以访问的权限比private大 - 在类外面不能调用potected变量
- 在类里或者继承该类的子类里可以使用该变量
3.@public
相较上边而言,谁都可以用,只要你有这个类的对象,就可以拿到 public 下的变量。
4.@package
这个主要是用于框架类,使用 @private 太限制,使用 @protected 或者 @public 又太开放,就使用这个 package 吧。
- 对于
framework内部,相当于@public - 对于
framework外部,相当于@private
这个特性,很适合用于开发第三方的静态类库,因为多数人并不希望让别人知道自己属性的值。