Objective-C 方法的调用

 

 

  在接下来的时间里面,我们准备为大家介绍Objective-C中的方法的调用,那么,为什么要调用方法呢?其实,“方法”在定义并实现以后,如果我们要去使用它,那么,就必须通过类或者是对象去调用它,这样,才可以真正去使用到方法。

 

 

 

  接下来,我们看看方法调用的语法格式,格式如下:

 

  “方法定义的语法格式”,如下:


  [ 对象名或类名 方法名 :参数1:参数名n ];


  语法格式分析

 

(1)一对中括号,格式要求,不能省略。

 

(2)通过对象名或类名进行调用。

   如果方法定义时,前面有加号“+”的,必须通过对象名来调用。

   如果方法定义时,前面有加号“-”的,必须通过类名来调用。

 

(3)要调用的方法名。

    

(4)一个冒号,格式要求,不能省略。

 

(5)参数部分,多个参数之间用冒号分隔。

 

(6)一个分号,用于描述方法调用结束。

 

 

 

  接下来,我们就通过一个例子来定义一个“角色类”,并在类中定义了两个方法,而这两个方法分别用于描述角色的行走与攻击,并分别通过对象与类去调用不同的方法。

 

例子:

 

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

    int x;

    int y;

    int pow;
};

  - (void) MoveX : (int) mx : (int) my;  //定义方法MoveX

  + (void) Attack ;                 //定义方法Attack

@end

 

 

//实现方法

@implementation Role

 -(void)MoveX:(int) mx : (int) my  //实现方法MoveX
 {
   x = mx + my;
 }

 

 + (void) Attack   //实现方法Attack

 {

     pow = 100;

  }

@end

 

 

//入口函数main

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

{  

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

 

  [ r1   MoveX: 10:20 ];     //通过对象调用了MoveX方法,并传递参数10和20

  [ Role  Attack ];          //通过类调用方法Attack

 

  [ Role  MoveX:10:20 ];    //错误,因为,MoveX方法定义时前面是有"减号",所以,

                    只可以通过对象名才可以调用。

 

  [ r1 Attack ];           //错误,因为,Attack方法定义时前面是有"加号",所以,

                     只可以通过类名才可以调用。

 

  return 0;

 

 

 

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

 

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

 

 

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

进入游戏学习与训练