zoukankan      html  css  js  c++  java
  • Objective-C 工厂方法

    调用过程更加清晰

    +为静态方法

     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 }
  • 相关阅读:
    看到差距了,受打击
    数码相机选购指南(应小麻之作)
    sorry
    ACM集训第一天
    没事了,放心了,回到自己,又有些失落
    黑暗世界的一线光明

    无忧无虑的睡去,是一种奢华的享受(新)
    一些废话
    对事不对人
  • 原文地址:https://www.cnblogs.com/-jpp/p/4999221.html
Copyright © 2011-2022 走看看