三種初始化

父類中
- (id)initWithName:(NSString *)aName
               sex:(
NSString *)aSex
               age:(
NSInteger)aAge
{
   
 //調用父類的初始化方法
   
 self = [super init];//防止初始化失敗,賦值失敗
    if (self) {
        //給自己的實例變量賦值
        _name = aName;
        _sex = aSex;
        _age = aAge;
    }
    return self;
}

子類中(指定)
- (id)initWithName:(NSString *)aName
             score:(
float)aScore
               sex:(
NSString *)aSex
               age:(
NSInteger)aAge
            number:(
NSString *)aNumber
{
   
 //super 只有一個作用,調用父類方法
   
 //調用父類方法,給父類的實例變量賦值
   
 self = [super initWithName:aName sex:aSex age:aAge];
    if (self) {
        //給自己的實例變量賦值
        _number = aNumber;
        _score = aScore;
    }
    return self;
}
其他初始化方法(一般)
- (id)initWithName:(NSString *)aName
             score:(
float)aScore
            number:(
NSString *)aNumber
{
   
 return [self initWithName:aName score:aScore sex:Nilage:0number:aNumber];
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章