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

Category

2015-07-10 13:36 639 查看
更新的第一篇技术博客,希望以后坚持下去。

1.分类,类别:

definition:动态的为已经存在的类添加新的方法
function:实现类相关方法的模块化,把不同的方法实现到不同的分类文件中
imp:不能添加成员变量;
在写分类的时候,不一定要创建新文件,可以写在原来的文件中;
code:
对NSString进行的扩展示例:

#import <Foundation/Foundation.h>

@interface NSString (JSON)
+ (NSString *)json;

@end

#import "NSString+JSON.h"
@implementation NSString (JSON)
+(NSString *)json{

return
@"{'id':10,'name':'mj'}";
}

@end

对自己创建的类Student进行扩展
h文件:

#import <Foundation/Foundation.h>

@interface Student :
NSObject

- (void)test;

@end

//类和分类还可以写在同一个文件中

@interface Student (ADDition)

- (void)testthree;

@end
m文件:

#import "Student.h"

@implementation Student
- (void)test{

NSLog(@"调用了test的方法");
}

@end

@implementation Student (ADDition)
- (void)testthree{

NSLog(@"test 3");
}

@end

分类的使用:

//important分类中只能添加方法,不能添加成员变量。

//不改变与原来的模块,我们可以无限的扩展方法

//方便团队合作,在多人同时开发时候,对于一个类分成好多个模块,大家不会相互影响

//增加新的需求,增加新的方法。

Student *stu = [[Student
alloc] init];
[stu
test];
[stu
testTwo];

NSLog(@"%@",[NSString
json]);
[stu
testthree];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: