今天我们学习了继承、初始化、便利构造器,不算很难,但前几天学的初始化方法已经写了很多遍,这回完整的初始化方法还是有点不习惯,要多写啊!
主要知识点:
// 关键词:super
// super的作用只有一个:在子类中调用一下 从父类继承过来的方法
[super eat];
// 把一个从父类继承过来的方法重新实现,叫做重写
NSLog(@"%@躺着吃", _name);
- (id)initWithName:(NSString *)name
{
// 如果一个初始化方法,在被别的初始化方法调用 来初始化一系列的成员变量,就把这个方法叫做指派初始化方法
// 指派初始化方法的作用:
// 1.简化代码
// 2.确保 在使用其他的初始化方法的时候,指派初始化方法中的代码一定被调用
self = [self initWithName:name sex:nil age:0 hobby:nil pickBag:nil];
return self;
}
- (id)initWithName:(NSString *)name
{
// self = [super initWithName:name sex:nil age:0 hobby:nil];
// if (self != nil) {
// _pickBag = nil;
// }
// 如果一个初始化方法,在被别的初始化方法调用 来初始化一系列的成员变量,就把这个方法叫做指派初始化方法
// 指派初始化方法的作用:
// 1.简化代码
// 2.确保 在使用其他的初始化方法的时候,指派初始化方法中的代码一定被调用
self = [self initWithName:name sex:nil age:0 hobby:nil pickBag:nil];
return self;
}
- (id)initWithName:(NSString *)name sex:(NSString *)sex age:(int)age hobby:(NSString *)hobby pickBag:(NSString *)pickBag
{
self = [super initWithName:name sex:sex age:age hobby:hobby];
if (self != nil) {
_pickBag = pickBag;
}
return self;
}