iOS之06-三大特性之继承

时间:2023-03-08 20:47:31

继承

 1、定义

  继承是指一个对象直接使用另一对象的属性和方法。

  继承:xx 是 xxx

 2、实现

 A {
int _age;
int _no;
}
B : A {// 继承的实现
int _weight;
}

  : A 表示 B 继承了 A ,相当于拥有了 A 里面的所有的成员变量和方法

  OC是一种单继承的语言

 3、继承的好处

  1> 抽取重复代码

  2> 建立了类之间的关系

  3> 子类可以拥有父类中的所有成员变量和方法

 4、注意点

  1> 基本上所有类的根类是NSOBject

  2> 父类必须声明在子类的上面(因为编译从上到下)  

  3> 不允许子类和父类有相同名称的成员变量

  4> 调用某个方法时,优先区当前类中找,如果找不到,去父类中找

  5> 每个类中都有一个superclass的指针,会指向它的父类

 5、坏处

  耦合性太强(类彼此间关系太强,若一个不能用或没有,就会影响其他的类)

 6、继承的使用场合

  1> 当两个类拥有相同的属性和方法的时候,就可以将相同的东西抽取到一个父类中

  2> 当A类完全拥有B类中的部分属性和方法时,可以考虑让B类继承A类

 7、组合:xxx1 拥有 xxx2

  实现方式:在xxx2中的成员变量中定义 xxx1 *_变量名

 A {
int _age;
int _no;
}
B {
A *_a; // 组合的实现
int _weight;
}

 8、关键字 super

  [super 父类方法] 调用父类的方法

  1> 作用

    直接调用父类中的某个方法

    super处在对象方法中,那么就会调用父类的对象方法

    super处在类方法中,那么就会调用父类的类方法

  2> 使用场合

    子类重写父类的方法时想保留父类的一些行为