Objective-C 未命名分类
在接下来的时间里面,我们准备为大家介绍Objective-C中的"未命名分类"。
(1)未命名分类的作用是,让它所定义的方法全部变成私有,这样,方法就只可以在类中使用,
而不能被继承以后的子类所使用。
(2)未命名分类所定义的方法,必须在原有类中的方法实现区域中实现。
接下来,我们先看看未命名分类的语法格式:
语法格式:
@interface 类名 ()
方法定义;
@end
语法格式分析:
(1)与类定义一样,以@interface开头。
(2)原有的类名,已经定义的类名。
(3)一对小括号,小括号中不需要加入分类名。
(4)定义分类中的方法,按照前面学习的方法定义格式来定义就可以了。
(5)@end说明分类的定义结束。
接下来,我们结合例子作进一步的学习。
//===================//
//------定义了Role类-----//
//===================//
@interface Role : NSObject
{
int x;
int y;
}
- (void) Move; //移动方法
@end
@implementation Role
-(void) Move
{
x = x + 1;
}
-(int) Bomb :(int) pow //实现了未命名分类中的Bomb方法
{
pow = pow + 100; //将参数pow加100,并将结果保存回变量pow。
return pow; //通过return 返回pow中的值。
}
@end
//==========================//
//------定义了Role的未命名分类-----//
//==========================//
@interface Role ( ) //Role的未命名分类
-(int) Bomb:(int) pow ; //定义炸弹方法Bomb,需要接收一个参数pow
@end
//-------入口函数main-----//
int main (int argc, const char * argv[]) {
Role *r1 = [ [ Role alloc ] init ]; //通过类Role定义了对象r1,并分配了内存空间与初始化。
[ r1 Bomb:100 ]; //正确,调用了未命名分类中的方法Bomb,并传递100给参数pow。
}
非常好,现在,我们已经掌握了Objective-C中的“未命名分类”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”。
不要停留在理论规则上面,快动起来吧!
(通过游戏模式学习与训练,需要在电脑上运行)