6、OC Categroy类别

来源:互联网 发布:厦门市中院网络直播 编辑:程序博客网 时间:2024/05/16 05:19

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 "Person+Student.h"@implementation Person (Student)-(void)studing{    NSLog(@"学习ing");}@end

main.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;}

1 1
原创粉丝点击