OC--继承的相关特性

继承的相关特性

方法重写

  • 在子类中实现与父类中同名的方法,称之为方法重写;
    • 重写以后当给子类发送这个消息的时候,执行的是在子类中重写的那个方法,而不是父类中的方法;
    • 如果想在子类中调用被子类重写的父类的方法,可以通过super关键字;
[super 父类方法名称];
  • 方法重写后,子类对象调用该方法,会直接调用子类中的方法,不会调用父类中的方法.

方法重写的使用场景

  • 当从父类继承的某个方法不适合子类,可以在子类中重写父类的这个方法。

继承中方法的调用顺序

  • 1、在自己类中找;
  • 2、如果没有,去父类中找;
  • 3、如果父类中没有,就去父类的父类中;
  • 4、如果父类的父类也没有,就还往上找,直到找到基类(NSObject);
  • 5、如果NSObject都没有就报错了.
    • 如果找到了就执行这个方法,就不再往后查找了.

继承的注意事项

  • 子类不能定义和父类同名的成员变量,私有成员变量也不可以;因为子类继承父类,子类将会拥有父类的所有成员变量,若在子类中定义父类同名成员变量 属于重复定义。

  • OC类支持单一继承,不支持多继承;也就是说一个类只能有一个直接父类

  • OC类支持多层继承

super关键字

  • super是个编译器的指令符号,只是告诉编译器在执行的时候,去调谁的方法.

super的作用

  • 1.直接调用父类中的某个方法;
  • 2.super在对象方法中,那么就会调用父类的对象方法;super在类方法中,那么就会调用父类的类方法.

super的使用场景

  • 子类重写父类的方法时想保留父类的一些行为.
  • 想在子类中调用父类的方法时可以使用super;
  • 想在给父类方法进行扩展的同时保留父类的方法,那么可以使用super调用父类同名的方法.

你可能感兴趣的:(OC开发基础)