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中的“未命名分类”这个知识点,但是,如何去运行用它呢?所以,我们就要通过下方的按钮进入到游戏中,然后,运用它去完成任务,这样,才可以加深大家对每个知识点的理解和运用,以及“尽快进入到编程的状态”

 

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

 

 

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

进入游戏学习与训练