您好,登錄后才能下訂單哦!
本篇文章為大家展示了Objective-C中的分類,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
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;
}
結(jié)果 :
一 , 命名分類 AnimalPart
h:
#import <Foundation/Foundation.h>
#import "Animal.h"
@interface Animal (AnimalPart)
-(void) call : ( NSString * ) sound;@end<br/" rel="nofollow">br/>@end<br/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;
}
結(jié)果:
解釋:
創(chuàng)建AnimalPart的h和m文件。但是AnimalPart作為Animal的擴展分類,只能寫在()當中 。
實現(xiàn)在AnimalPart的M中間中實現(xiàn)代碼(未命名分類在Animal的M中實現(xiàn))
不能夠擴展屬性(未命名分類可以)
二 , 未命名分類 AnimalPartUnName
因為未命名分類不需要m文件所以只建立h文件
h文件
#import <Foundation/Foundation.h>
#import "Animal.h"
@interface Animal ()
@property NSString *name;
-(void) Writename;
@end
在Animal的m文件中實現(xiàn)
main文件
結(jié)果
上述內(nèi)容就是Objective-C中的分類,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。