Objective-C 自动生成属性的存取方法

 

 

  在接下来的时间里面,我们准备为大家介绍Objective-C中的"自动生成属性的存取方法"。

 

  在前面的学习中,我们已经接触过类中的属性与方法,同时,也知道一个方法必须是通过定义与实现以后才可以调用的,但是,在接下来的时间里面,我们准备为大家介绍另一种访问属性的方法,而种方法是由Objective-C为属性自动生成对应的‘存’与‘取’这两个方法,然后,我们通过程序去调用它就可以对属性进行存取操作了。

 

  首先,我们来看看用于自动生成属性存取方法的关键字:

  (1)@property,该关键字说明它后面的属性,将会让Objective-C为其自动生成‘存’与‘取’两个方法。

 

  (2)@synthesize,该关键字说明,生成一个set+属性名的方法用于设置属性中的值,

     另外,再生成一个属性名的方法,用于返回属性中的值。

 

     假设有属性X,那么,就自动生成 - setX(int) 与 - X()这两个方法,

     但是,这两个方法,我们是看不到

     但是,我们可以按照前面学习的方法调用格式去调用它们,同时,它们都是对象方法

        

 

 

 接下来,我们结合例子作进一步的学习。

 

@interface   Role : NSObject   //定义了类Role,并继承了根类NSObject
{
  @public      //公有

    int x;

    int y;

    int pow;
}

 

@property int x ,y;   //通过关键字@property来说明属性x 与 y将会自动生成存与取两个方法

 

@end

 

//===================//

//---实现Role类中的方法--//

//===================//

@implementation Role

 

@synthesize x ,y;  //通过关键字@synthesize来说明为属性x与y生成对应的方法

             而方法分别是 - setx(int ) 与 -x()

            以及方法 - sety( int ) 与 -y()

@end

 

 

//入口函数main

int main ( int argc, const char * argv[] )

{  

  Role *m1 = [ [ Role alloc ] init ];    //定义对象 m1 并分配了内存空间。

 

  [ m1 setX:100 ];      //正确,调用自动生成的属性方法setX并通过参数传递100给属性 x 。

  [ m1 setY:100 ];      //正确,调用自动生成的属性方法setY并通过参数传递100给属性 y 。

 

  int k = [ m1 x ];      //正确,调用自动生成的属性方法 x ,并返回 x 中的属性值,

                然后,保存到变量 k 中,所以,k变量中的值等于100。

                 中括号里面的 x 是自动生成的方法名

 

  int d = [ m1 y ];      //正确,调用自动生成的属性方法 y ,并返回 y 中的属性值,

                然后,保存到变量 d 中,所以,d 变量中的值等于100。

                中括号里面的 y 是自动生成的方法名

  return 0;

}

 

 

 

  非常好,现在,我们已经掌握了Objective-C中的“自动生成属性的存取方法”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”

 

  不要停留在理论规则上面,快动起来吧!

 

 

(通过游戏模式学习与训练,需要在电脑上运行)

进入游戏学习与训练