您的位置:首页 > 编程语言 > Go语言

Category分类的基本使用

2015-07-24 12:13 351 查看
/*

Category分类:可以给某一个类扩充一些方法(不修改原来类的代码)

声明:

@interface 类名(分类名称)

@end



实现:

@implementation 类名(分类名称)

@end

总结:

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

使用注意:

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

2.分类方法实现中能访问原来类中的成员变量

3.分类可以重新实现原来类中的方法,但是会覆盖掉原来的方法失效,不建议在分类中重新实现原来的方法

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

.h文件不会参与编译,只用来拷贝

.m文件才参与编译



【实际开发中一般是为系统自带的类写分类】

*/

#import <Foundation/Foundation.h>

#import "Person.h"

#import "Person+Wea.h"

int main(int argc,
const char * argv[])
{

@autoreleasepool {

Person* p = [[Person
alloc] init];
[p
test];
[p
student];
}

return 0;
}

#import <Foundation/Foundation.h>

@interface Person :
NSObject
-(void)test;

@end

#import "Person.h"

@implementation Person
-(void)test{

NSLog(@"person的test方法");
}

@end

#import "Person.h"

@interface Person (Wea)
-(void)student;

@end

#import "Person+Wea.h"

@implementation Person (Wea)
-(void)student{

NSLog(@"student的方法");
}

@end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: