继承
继承的特性:
继承是单向的(从上到下)
继承是可传递的
不能相互继承
不能多继承
继承 就是子类继承父类的所有的实例变量和方法
继承的好处: 减少代码量 提高工作效率
self 和 super
1. 使用self调用方法的时候 :
若本类某个方法要调用本类其他方法 优先调用本类中的其他方法 没有的话继续查找上一级 找到就调用 都没有就崩溃
2. 使用super调用方法的时候 :
直接跳过本类去查找上一级的父类 找到就调用 没有的话继续查找 都没有崩溃
super没有特殊的意义 就是一个 编译器指令
完整的自定义方法
赋值实例变量的时候需要先判断下继承是否成功 也就是调用父类的初始化方法
self = [super initWithName:name sex:sex age:age];
if (self) {
// 如果继承成功的话 就继续初始化子类中特有的实例变量
// 如果继承失败 直接返回就行
_number = number;
}
return self;
便利构造器
+ (instancetype)lanouStudentWithName:(NSString *)name sex:(NSString *)sex age:(NSInteger)age number:(NSInteger)number jianChi:(NSString *)jianChi
{
LanouStudent *lanouStu = [[LanouStudent alloc] initWithName:name sex:sex age:age number:number jianChi:jianChi];
return lanouStu;
}