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

038.category 分类/类别

2015-07-26 10:15 162 查看
--------------- NSNumber+fk.h ---------------
#import
<Foundation/Foundation.h>
@interface
NSNumber (fk)

- (NSNumber*) add: (double)
num2;

- (NSNumber*) substract: (double)
num2;

- (NSNumber*) multiply: (double)
num2;

- (NSNumber*) divide: (double)
num2;
@end

--------------- NSNumber+fk.m ---------------
#import
"NSNumber+fk.h"

@implementation
NSNumber (fk)

- (NSNumber*) add: (double)
num2
{
return
[NSNumber
numberWithDouble:
([self
doubleValue] + num2)];
}

- (NSNumber*) substract: (double)
num2
{
return
[NSNumber
numberWithDouble:
([self
doubleValue] - num2)];
}

- (NSNumber*) multiply: (double)
num2
{
return
[NSNumber
numberWithDouble:
([self
doubleValue] * num2)];
}

- (NSNumber*) divide: (double)
num2
{
return
[NSNumber
numberWithDouble:
([self
doubleValue] / num2)];
}

@end

---------------
main.m
---------------
#import
<Foundation/Foundation.h>
#import "NSNumber+fk.h"
int
main()

{

NSNumber* myNum = [NSNumber
numberWithInt:
3];

NSNumber* add = [myNum
add:2.4];

NSLog(@"%@", add);

NSNumber* substract = [myNum
substract:2.4];

NSLog(@"%@", substract);

NSNumber* multiply = [myNum
multiply:2.4];

NSLog(@"%@", multiply);

NSNumber* divide = [myNum
divide:2.4];

NSLog(@"%@", divide);
}

一、编写本节代码的具体步骤:

1.打开Xcode。
2.点击Create a new Xcode project。
3.选择OS X下的Application,然后点击Command Line Tool,点next。
4.填写项目名称,机构名称和机构标志,选择Language是Objective-C,点next。
5.选择文件储存目录,不要勾选Create Git repository on My Mac,点Create。

6.右击左侧导航栏中排在首位的黄色文件夹。
7.在弹出的菜单中,选择NewFile,选择OS X,Source,Objective-C File,点next。
8.填写分类的文件名,选择类型为Category,选择类名,点next。

9.选择存储位置,点Create。

二、本节代码涉及到的知识点:
1.category分类可以为已知类增加一些新的方法,而且不需要创建子类,不需要访问/修改原有类。
2.以本节代码为例,分类在源文件名的命名是:NSNumber+fk.h 和 NSNumber+fk.m。(源文件名只是方便辨识,并无实际意义)
3.以本节代码为例,分类在源代码里的命名是:NSNumber (fk)。
4.通过分类添加新方法之后,这些新方法不仅会影响到NSNumber类,还会影响到NSNumber类的所有子类。
每一个子类都会获取这些新方法。
5.通过分类可以重写原类中的原有方法,但通常不推荐这样做。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: