• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Objective-C之分类

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Animal.h
#import <Foundation/Foundation.h>

@interface Animal : NSObject
-(void) eat : (NSString *)food;
@end

Animal.m
#import "Animal.h"

@implementation Animal
/**


  • /
    -(void) eat:(NSString
    )food{
    NSLog(@"I like eat %@" , food);
    }
    @end

在main入口中的测试
#import <Foundation/Foundation.h>
#import "Animal.h"

int main(int argc, const char argv[]) {
@autoreleasepool {
Animal
dog = [[Animal alloc] init];
NSString *food = @"Bone";
[dog eat:food];
}
return 0;
}

结果 :

一 , 命名分类 AnimalPart
h:
#import <Foundation/Foundation.h>
#import "Animal.h"

@interface Animal (AnimalPart)
-(void) call : ( NSString * ) sound;br/>@end
m:
#import "AnimalPart.h"

@implementation Animal (AnimalPart)
-(void) call:(NSString *)sound{
NSLog(@"I Call Sound : %@" , sound);
}
@end

测试:
#import <Foundation/Foundation.h>
#import "Animal.h"
#import "AnimalPart.h"

int main(int argc, const char argv[]) {
@autoreleasepool {
Animal
dog = [[Animal alloc] init];
NSString food = @"Bone";
[dog eat:food];
//命名分类扩展的方法
NSString
sound = @"wang wang wang ......";
[dog call:sound];
}
return 0;
}
结果:

解释:
创建AnimalPart的h和m文件。但是AnimalPart作为Animal的扩展分类,只能写在()当中 。
实现在AnimalPart的M中间中实现代码(未命名分类在Animal的M中实现)
不能够扩展属性(未命名分类可以)

二 , 未命名分类 AnimalPartUnName
因为未命名分类不需要m文件所以只建立h文件

h文件
#import <Foundation/Foundation.h>
#import "Animal.h"
@interface Animal ()
@property NSString *name;
-(void) Writename;
@end

在Animal的m文件中实现

main文件

结果

转载于:https://blog.51cto.com/aonaufly/2044467


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
从c++到Objective-C发布时间:2022-07-12
下一篇:
Objective-C学习笔记(三)——用Objective-C编写第一个程序:Hello,World! ...发布时间:2022-07-12
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap