iOS中的public 、private、protected
程序员文章站
2022-06-01 11:55:16
...
####实例变量修饰符作用域:从出现的位置开始,一直直到下一个修饰符出现
####如果没有遇到下一个实例变量修饰符,那么就会修饰后面所有的实例变量
@interface A : NSObject{
@public
int a;
int b;
@private
int c;
@protected
int d;
int e;
}
@end
@implementation A
{
int f;
}
@end
public
- 可以在本类中访问被public修饰的成员变量
- 可以在其它类中访问被public修饰的成员变量
- 可以在子类中访问父类中被public修饰的成员变量
private
- 可以在本类中访问被private修饰成员变量
- 不可以在其它类中访问被private修饰的成员变量
- 不可以在子类中访问父类中被private修饰的成员变量
protected
- 可以在本类中访问被protected修饰符的成员变量
- 不可以在其它类中访问被protected修饰的成员变量
- 可以在子类中访问父类中被protected修饰的成员变量
注意:默认情况下所有的实例变量都是protected
package
- 介于public 和 private 之间的
- 如果是在其它包中访问那么就是private的
- 如果是在前代码所在的访问就是public的
@implementation
- 一般定义在@implementation的成员变量,默认就是私有成员变量
- 并且和利用@private修饰不一样,在@implementation中定义的成员变量在其他类中无法查看,也无法访问
- 在@implementation中定义的私有变量只能在本类中访问
下一篇: 关于java常用的内存理解
推荐阅读
-
ios12中遇到的带input弹窗的错位问题的解决方法
-
iOS应用中UITableView左滑自定义选项及批量删除的实现
-
iOS App中UITableView左滑出现删除按钮及其cell的重用
-
iOS App中UILabel的自定义及在Auto Layout中的使用
-
iOS应用开发中矢量图的使用及修改矢量图颜色的方法
-
iOS应用开发中监听键盘事件的代码实例小结
-
IIS中User-mode caching引起的Cache-Control不为public问题的解决方法
-
ipad中iOS9画中画怎么使用?ipad画中画的使用方法
-
iOS中如何获取某个视图的截图详析
-
在iOS开发的Quartz2D使用中实现图片剪切和截屏功能