码迷,mamicode.com
首页 > 其他好文 > 详细

Objective-C 工厂方法

时间:2015-11-26 23:17:21      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

调用过程更加清晰

+为静态方法

 1 // 类定义
 2 @interface People : NSObject{
 3     int _age;
 4     NSString* _name;
 5 }
 6 // 工厂方法  静态
 7 +(People*)peopleWithAge:(int)age andName:(NSString*)name;
 8 
 9 -(id)initWithAge:(int)age andName:(NSString*)name;
10 -(int)getAge;
11 -(NSString*)getName;
12 @end
13 
14 
15 // 类实现
16 @implementation People
17 
18 // 工厂方法
19 +(People*)peopleWithAge:(int)age andName:(NSString*)name{
20     return [[People alloc] initWithAge:age andName:name];
21 }
22 
23 // 初始化方法
24 -(instancetype)initWithAge:(int)age andName:(NSString *)name{
25     self = [super init]; // 执行父类init方法
26     if (self) {
27         _age = age;
28         _name = name;
29     }
30     return self;
31 }
32 
33 -(int)getAge{
34     return _age;
35 }
36 
37 -(NSString*)getName{
38     return _name;
39 }
40 @end
41 
42 
43 // 调用
44 int main(int argc, char * argv[]) {
45     People *p = [People peopleWithAge:10 andName:@"jinpangpang"];
46     NSLog(@"p.age %d, p.name %@",[p getAge],[p getName]);
47     
48     @autoreleasepool {
49         return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
50     }
51 }

 

Objective-C 工厂方法

标签:

原文地址:http://www.cnblogs.com/-jpp/p/4999221.html

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