多态

来源:互联网 发布:淘宝禁止好评返现2016 编辑:程序博客网 时间:2024/04/30 23:20

一.定义一个BaseModel的类

在.h文件中

@property(nonatomic,copy)NSString *name;

@property(nonatomic,copy)NSString *sex;


-(id)initWithName:(NSString *)name

              sex:(NSString *)sex;


+(id)BaseModelWithName:(NSString *)name

                   sex:(NSString *)sex;

在.m文件中

-(id)initWithName:(NSString *)name

              sex:(NSString *)sex

{  self=[superinit];

   if(self){

       self.name=name;

       self.sex=sex;

    }

    return self;

    }

+(id)BaseModelWithName:(NSString *)name

                   sex:(NSString *)sex{

    //多态的方式完成对象的创建

   id obj=[[[selfclass] alloc]initWithName:name sex:sex];

   return obj;

}

二.

//再定义一个Person的类继承于BaseModel,然后在主函数中直接可以打印如下

    Person *per=[PersonBaseModelWithName:@"孙祥"sex:@""];

   NSLog(@"%@",per.name);


0 0
原创粉丝点击