首页 > 代码库 > 类的扩展--类目--ios

类的扩展--类目--ios

 person+money.h  这是类目类

#import "Person.h"//这是扩展person类的接口类,独立一个文件@interface Person (Money)-(void) haveMoney;@end

 person+money.m 这是类目类

#import "Person+Money.h"//这是扩展person类的实现类,独立一个文件@implementation Person (Money)-(void) haveMoney{    NSLog(@"人人有钱");}@end

 person.h

#import <Foundation/Foundation.h>//这是原始类@interface Person : NSObject@property(nonatomic,copy) NSString *name;@property(nonatomic,retain) NSNumber *age;-(void) originTest;@end//这是原始类的扩展类,直接定义与原始类同一文件中@interface Person (Creat)+(id) personWithName:(NSString *) name;@end//这是原始类的扩展类,直接定义与原始类同一文件中@interface Person (Test)-(void) test;@end

 person.m

#import "Person.h"//这是person类的实现类@implementation Person:NSObject-(id) init{    self=[super init];    NSLog(@"调用类自定义的init 方法");    return self;}+(id) personWithName:(NSString *) name{    Person *person=[[Person alloc] init];    person.name=name;    return person;}//这是person类的实现类,直接定义与原始类同一文件中-(void) test{    NSLog(@"这是类目定义的方法");}-(void) originTest{  NSLog(@"这是原始类的方法");}-(void) haveMoney{  NSLog(@"人人有钱");}@end

 person_family.h  这是延展的类

#import "Person.h"@interface Person ()-(void) haveFamily;@end

 

main.m

  //类目扩展学习

        Person *person=[Person personWithName:@"caictou"];

        //这是原始类定义的方法

        [person originTest];

        //这是同一个文件的扩展类定义的方法

        [person test];

        //这是独立一个文件的扩展类定义的方法

        [person haveMoney];

        //这是对立一个文件的延展类定义的方法

        [person haveFamily];