OC基础知识 -- 继承

继承

继承的特性:

  1. 继承是单向的(从上到下)

  2. 继承是可传递的

  3. 不能相互继承

  4. 不能多继承

  5. 继承 就是子类继承父类的所有的实例变量和方法

  6. 继承的好处: 减少代码量 提高工作效率

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;
}

你可能感兴趣的:(Objective-C)