码迷,mamicode.com
首页 > 移动开发 > 详细

类的扩展--类目--ios

时间:2014-08-19 23:56:55      阅读:466      评论:0      收藏:0      [点我收藏+]

标签:blog   os   io   文件   div   log   ef   on   

 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];

 

类的扩展--类目--ios,布布扣,bubuko.com

类的扩展--类目--ios

标签:blog   os   io   文件   div   log   ef   on   

原文地址:http://www.cnblogs.com/clarence/p/3923530.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!