您的位置:首页 > 移动开发 > Objective-C

Objective-C 工厂方法

2015-11-26 22:23 441 查看
调用过程更加清晰

+为静态方法

// 类定义
@interface People : NSObject{
int _age;
NSString* _name;
}
// 工厂方法  静态
+(People*)peopleWithAge:(int)age andName:(NSString*)name;

-(id)initWithAge:(int)age andName:(NSString*)name;
-(int)getAge;
-(NSString*)getName;
@end

// 类实现
@implementation People

// 工厂方法
+(People*)peopleWithAge:(int)age andName:(NSString*)name{
return [[People alloc] initWithAge:age andName:name];
}

// 初始化方法
-(instancetype)initWithAge:(int)age andName:(NSString *)name{
self = [super init]; // 执行父类init方法
if (self) {
_age = age;
_name = name;
}
return self;
}

-(int)getAge{
return _age;
}

-(NSString*)getName{
return _name;
}
@end

// 调用
int main(int argc, char * argv[]) {
People *p = [People peopleWithAge:10 andName:@"jinpangpang"];
NSLog(@"p.age %d, p.name %@",[p getAge],[p getName]);

@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: