第3章 类和继承

本章主要讲述了简单的类和继承的问题


在OC里面,继承主要注意几点即可:

  • self于super的区别
    self代表当前类(的实例),而super则是其父类(的实例),所以在重写(override)方法时候就应该注意了 。
  • 初始化方法
    这个OC的初始化方法的继承有一定的模块性,一般都参考这种形式
- (id)init{
    
    self = [super init];
    if (self != nil) {
        // Do something here!
    }
    return self;
}
  • 上面提到的重写,不管是重写初始化的方法,还是其他方法,如果需要调用父类的方法,一定要主要不能产生循环调用。循环调用如下:
父类
- (id)init{
    
    self = [super init];
    if (self != nil) {
        // Do something here!
    }
    return self;
}

- (id)initWithName:(NSString *)name{
    
    self = [super init];
    if (self != nil) {
        // Do something here!
    }
    return self;
}

子类
- (id)init{
    
    self = [super initWithName:@"defaultName"]; //此处会导致循环调用
    if (self != nil) {
        // Do something here!
    }
    return self;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容