多态
来源:互联网 发布:淘宝禁止好评返现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);