标签:
Categroy类别,又称为扩展类,在类的原基础上扩展方法,且不可添加变量,如果扩展的方法与原始类中的方法相同,则会隐藏原始方法,且不可在扩展方法中通过super调用原始方法,这里与继承不同。
定义: 下面演示在人的基础扩展为学生
定义类
Person.h
#import <Foundation/Foundation.h> @interface Person : NSObject @property(retain) NSString *name; @property(nonatomic,assign) int age; @end
Person.m
#import "Person.h" @implementation Person @end
扩展
Person+Student.h 约定,类别的文件名为 扩展类+类别名.h
#import "Person.h" @interface Person (Student) -(void)studing; @end
Person+Student.m
#import <Foundation/Foundation.h> #import "Person+Student.h"//导入时导入扩展的那个文件 int main(int argc, const char * argv[]) { @autoreleasepool { Person *p = [[Person alloc] init]; [p studing]; } return 0; }
标签:
原文地址:http://www.cnblogs.com/killiancheung/p/4569736.html