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中的“方法的调用”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”。
不要停留在理论规则上面,快动起来吧!
(通过游戏模式学习与训练,需要在电脑上运行)