分类
2015-12-12 14:52 AB小博客 阅读(142) 评论(0) 收藏 举报如果一个类很大 有很多种方法 好几个程序员完成 用分类 或者 没有源代码的情况下想在类上面增加新的方法(不能增加变量) 用分类
// // main.m // 分类 #import <Foundation/Foundation.h> #import "Person.h" #import "Person+Ext.h" #import "BIgClass.h" int main(int argc, const char * argv[]) { @autoreleasepool { Person *per = [[Person alloc]init]; [per eat]; [per work]; [per sleep]; //1.目的 增加新的方法 给大的类进行分类 [per eatOther]; [per reading]; [per playGame]; BIgClass *bc = [[BIgClass alloc]init]; [bc m2]; } return 0; }
// // Person.h // 分类 #import <Foundation/Foundation.h> @interface Person : NSObject -(void)eat; -(void)work; -(void)sleep; @end #import "Person.h" @implementation Person -(void)eat{ NSLog(@"eat..."); } -(void)work{ NSLog(@"work..."); } -(void)sleep{ NSLog(@"sleep..."); } @end
// // Person+Ext.h // 分类 #import "Person.h" /*语法格式 @interface 要扩展的类名称 (分类名称) @end */ @interface Person (Ext) -(void)eatOther; -(void)reading; -(void)playGame; @end // // Person+Ext.m // 分类 #import "Person+Ext.h" @implementation Person (Ext) -(void)eatOther{ NSLog(@"吃螃蟹"); } -(void)reading{ NSLog(@"读书"); } -(void)playGame{ NSLog(@"玩游戏"); } @end
// // BIgClass.h // 分类 #import <Foundation/Foundation.h> @interface BIgClass : NSObject -(void)m1; -(void)m2; @end @interface BIgClass (Ext1) -(void)m3; -(void)m4; @end @interface BIgClass (Ext2) -(void)m5; -(void)m6; @end @interface BIgClass (Ext3) -(void)m7; -(void)m8; @end
浙公网安备 33010602011771号