分类 category ,是在不改变某个类的情况下,给某个类扩充方法,分类更有利于团队的开发,只要包含分类的头文件就行。 1、分类名称以模块命名,对于 Person 的 分类MJ ,分类文件的名称是:Person+MJ.h 2、可以这样声明或实现:
- @interface 类名(分类名)
- - (void) study;
- @end
3、这样调用: [p study] 注意:
- 分类不可以扩充成员变量
- 分类可以访问原来类(person类) 的成员变量
- 分类的优先级最高。调用一个方法,先在分类里找,其次是原来的类,然后是父类,所以如果分类重写了原来类的方法,会导致原来的方法会被覆盖,不建议
|