自定义构造方法

2016-01-09  本文已影响84人  MarkTang
 自定义构造方法:
 其实就是自定义一个init方法
 1.一定是对象方法
 2.一定返回id/instancetype
 3.方法名称一定以init开头
// 一个类可以有0个或者多个自定义构造方法
- (instancetype)initWithName:(NSString *)name;

// 自定义构造方法可以有1个或多个参数
- (instancetype)initWithAge:(int)age andName:(NSString *)name;
自定义构造方法在继承中的实现

@implementation Person
- (instancetype)initWithAge:(int)age andName:(NSString *)name
{
    if (self = [super init]) {
        _age = age;
        _name = name;
    }
    return self;
}
@end
@implementation Student

- (instancetype)initWithAge:(int)age andName:(NSString *)name andNo:(int)no
{
    /*
     if (self = [super init]) {
     // _age = age;
     // 狗拿耗子, 多管闲事
     // 自己的事情自己做
     [self setAge:age];
     [self setName:name];
     }
     */
    if (self = [super initWithAge:age andName:name]) {
        _no = no;
    }
    return self;
}
@end
上一篇下一篇

猜你喜欢

热点阅读