OC复习

第三节

1.继承是单向的,不能相互继承,具有传递性,子类可以继承父类的全部特征和行为
2.super是编译器指令,并非对象,作用是给super发消息,可以执行父类中的实现方法
3.初始化方法:
(1)在⾃自⾝身的初始化⽅方法中,优先向super发送init消息,初始化公共变量,初始化成功之后,再初始化⾃自⾝身特有变量,从⽽而完成全部实例变量的初始化。

- (instancetype)init
{
    self = [super init];//super将init消息的实现部分分配到父类的实现部分,这个init消息的接受者还是本类,所以这里的self是本类的对象,而不是父类的对象
    if (self) {
        _age = 3;
    }
    
//    _name = @"咪咪";
    return self;  //self可以指代一个对象
}

(2)特征:{
1.初始化⽅方法是 “-”⽅法
2.id或者instancetype类型的返回值
3以init开头
4.可以带0到多个参数
5.内部实现:先执⾏行super的初始化⽅方法,再初始化⾃自⾝身变量,return self
}
4.便利构造器
(1)便利构造器封装了对象的创建过程,进⼀一步简化了对象创建的步骤。
(2)是类方法,以+(instancetype)开头

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 20- 枚举,枚举原始值,枚举相关值,switch提取枚举关联值 Swift枚举: Swift中的枚举比OC中的枚...
    iOS_恒仔阅读 2,313评论 1 6
  • 1. 使用 #import 相对c的 include 是防止头文件的重复导入 2. NSLog 相对于 print...
    迎风起飞的猪阅读 1,765评论 6 9
  • 官方文档 初始化 Initialization是为准备使用类,结构体或者枚举实例的一个过程。这个过程涉及了在实例里...
    hrscy阅读 1,148评论 0 1
  • 123.继承 一个类可以从另外一个类继承方法,属性和其他特征。当一个类继承另外一个类时, 继承类叫子类, 被继承的...
    无沣阅读 1,423评论 2 4
  • 打卡第四天,该掏心掏肺了,昨晚被外界事物诱惑,竟然产生了放弃的念头,脑海中急促的纠结万般,在一阵狂抓下最终消灭了失...
    枫蝶情阅读 179评论 0 1