zoukankan      html  css  js  c++  java
  • OC第二节 继承、初始化⽅法、便利构造器

    1、什么是继承:将公有的实例变量和⽅法写在⽗类⾥⾯,⼦类只需要写⾃⼰独有的实例变量和⽅法即可。

     

    2、继承的特点:

      (1)、没有⽗类的类称为根类,NSObject ;

      (2)、继承的上层⽗类、继承的下层⼦类;

      (3)、继承的内容为⽗类中所有的实例变量和⽅法,但是私有的实例变量不能访问;

      (4)、继承是单向的,不能相互继承;

      (5)、继承具有传递性,A继承于B,B继承于C,那么A具有B和C所有的实例变量和⽅法;

      (6)、如果⼦类不满⾜⽗类中某个⽅法的实现,可以重写⽅法;

      (7)、⼀个类的⽗类只有⼀个,但是⼀个类的⼦类可以有多个。

     

    3、self如果出现在类⽅法中代表本类,如果self出现在对象⽅法中,代表的是外界执⾏此⽅法的对象。super是⼀个编译器指令,不是对象,想super发送消息,会执⾏⽗类中的⽅法。

     

    4、初始化⽅法是实例⽅法,返回值是 instancetype,参数个数可以⾃⼰给定,并且以init开头。

     

    5、初始化⽅法内部有三步。

    第⼀步,向super发送初始化消息,将从⽗类中继承过来的实例变量进⾏初始化。

    第⼆步,初始化⾃⾝的实例变量。第三部,将完成初始化之后的对象返回出去。

     

    6、便利构造器封装了alloc、初始化⽅法,是类⽅法,返回值类型为本类实例对象,⽅法名以类名开头,参数个数由⾃⼰指定。

     

  • 相关阅读:
    Luogu P4316 绿豆蛙的归宿 题解报告
    Luogu P1850 换教室(NOIP 2016) 题解报告
    Rainbow的信号 题解报告
    $CH5105 Cookies$ 线性$DP+$贪心
    算法竞赛 $0×50$ 动态规划 (+一本通
    $CH5104 I-country$ 线性$DP$
    洛谷$2014$ 选课 背包类树形$DP$
    $SP703 Mobile Service DP$
    $POJ1015 Jury Compromise Dp$/背包
    $POJ1742 Coins$ 多重背包+贪心
  • 原文地址:https://www.cnblogs.com/hyl2012/p/5212836.html
Copyright © 2011-2022 走看看