美文网首页APP & program
iOS @private、@protected、@public、

iOS @private、@protected、@public、

作者: 搬砖的crystal | 来源:发表于2023-02-17 15:39 被阅读0次
1.@private

代表私有,也就是只有自己有,别人谁都不可用,不可以继承的。
使用 @private 声明的变量:

  • @private 变量只能在类内部调用,在类外无法访问
  • 继承该类的子类也无法访问
2.@protected

相较上边的 private 而言,就没有那么自私了,它自己可以用,自己的子类也是可以共享的,是可以继承的。

  • @potected 可以访问的权限比 private
  • 在类外面不能调用potected变量
  • 在类里或者继承该类的子类里可以使用该变量
3.@public

相较上边而言,谁都可以用,只要你有这个类的对象,就可以拿到 public 下的变量。

4.@package

这个主要是用于框架类,使用 @private 太限制,使用 @protected 或者 @public 又太开放,就使用这个 package 吧。

  • 对于 framework 内部,相当于 @public
  • 对于 framework 外部,相当于 @private

这个特性,很适合用于开发第三方的静态类库,因为多数人并不希望让别人知道自己属性的值。

相关文章

网友评论

    本文标题:iOS @private、@protected、@public、

    本文链接:https://www.haomeiwen.com/subject/oqamkdtx.html