iOS开发之oc(九)--Category-分类

需求:如何在不改变原来类模型的前提下,给类扩充一些方法?有2种方式

 >继承

>分类(Category)

(一)了解Catagory

1.
Catagory,可以动态的为已经存在的类添加新的行为(方法),功能扩展,使用Category对类进行扩展时,不需要创建子类.
Category使用简单的方式,实现了类的相关方法的模块化,把不同的类方法分配到不同的分类文件中

category(分类、类别、类目)--(用来功能分类,分工,利于开发,一般以功能命名)

2.示例

//声明

@interface    类名(分类名称@end

 //实现

@implementation    类名(分类名称@end

 

3.通过 New File 创建,-->OS X(下的Cocoa)-->Objective-C category-->

注意:#import "Dog+YY.h”是说清楚分类叫什么名称

/*

 分类的作用:在不改变原来类内容的基础上,可以为类增加一些方法

 

 使用注意:

 1.分类只能增加方法,不能增加成员变量

 2.分类方法实现中可以访问原来类中声明的成员变量

 3.分类可以重新实现原来类中的方法,但是会覆盖掉原来的方法,会导致原来的方法没法再使用

 4.方法调用的优先级:分类(最后参与编译的分类优先) --> 原来类  --> 父类

 */

posted @ 2015-02-24 15:56  timo1234  阅读(202)  评论(0编辑  收藏  举报