一.定义一个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=[super init];
if(self){
self.name=name;
self.sex=sex;
}
return self;
}
+(id)BaseModelWithName:(NSString *)name
sex:(NSString *)sex{
//多态的方式完成对象的创建
id obj=[[[self class] alloc] initWithName:name sex:sex];
return obj;
}
//再定义一个Person的类继承于BaseModel,然后在主函数中直接可以打印如下
Person *per=[Person BaseModelWithName:@"孙祥" sex:@"男"];
NSLog(@"%@",per.name);