Referring to Instance Variables(关于实例变量)
视频锁定
{$ currentTime | date:'mm:ss' $}
{$ timeLeft | date:'mm:ss' $}
就像你下面看到的那样,类中,通常会定义实例变量,也称为类的属性,当你需要的时候,你可以将属性设置为public
。这样设置意味着,其它对象或者代码段可以用标准的C语言中存取结构体变量的方法来存取类中的实例变量,用操作符”->
”就可以实现。要这么做,对象必须是静态类型的,而不能是id类型的。
Bar *bar = [foo getBar];
int c = bar->value * 2; // 'value是bar对象的实例变量(Bar类的属性)
通常情况下,在一个类的外面直接访问类的实例变量是一种不好的编程习惯,除非是某些特殊的情况,比如比较注重性能的应用。代替直接访问实例变量的方式是,定义一些被称作accessors
(存取器)的方法来设置实例变量的值或者获取实例变量的值。
请看如下代码:
- (int) value {return value;}
- (void) setValue: (int) newValue{value = newValue;}
上面的代码就是get
和set
方法,成为存取器。虽然上面的代码没有写出来,但实际上get
和set
方法还能做很多其它的操作。
存取器的使用可以让类外面的代码完全不清楚类里面到底执行了什么样的操作。这种封装形式可以让大型应用的开发变得更加容易维护。
在线练习
{$ activeFileHint $}