美文网首页
成员变量/实例变量/属性变量的区别和联系

成员变量/实例变量/属性变量的区别和联系

作者: 佟掌柜666 | 来源:发表于2018-06-29 14:52 被阅读0次

@interface MyViewController :UIViewControlle{

UIButton *yourButton;

int count;

id data;

}

@property(nonatomic, strong) UIButton *myButton;

@end

   {   }   中所声明的变量都为成员变量。

所以yourButton、count、data都是成员变量。既然如此,实例变量又是什么意思呢?实例变量本质上就是成员变量,只是实例是针对类而言,实例是指类的声明。

{  }    中的yourButton就是实例变量。id 是OC特有的类,本质上讲id等同于(void *)。所以id data属于实例变量。

成员变量用于类内部,无需与外界接触的变量。因为成员变量不会生成set、get方法,所以外界无法与成员变量接触。

根据成员变量的私有性,为了方便访问,所以就有了属性变量。属性变量的好处就是允许让其他对象访问到该变量(因为属性创建过程中自动产生了set 和get方法)。当然,你可以设置只读或者可写等,设置方法也可自定义。所以,属性变量是用于与其他对象交互的变量。

成员变量是定义在{}号中的变量,如果变量的数据类型是一个类则称这个变量为实例变量。

因为实例变量是成员变量的一种特殊情况,所以实例变量也是类内部使用的,无需与外部接触的变量,这个也就是所谓的类私有变量。

而属性变量是用于与其他对象交互的变量。

**实例变量+基本数据类型变量=成员变量**

成员变量如果供外部使用 必须写set/get方法

相关文章

网友评论

      本文标题:成员变量/实例变量/属性变量的区别和联系

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