038.category 分类/类别

---------------  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.通过分类可以重写原类中的原有方法,但通常不推荐这样做。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值