zoukankan      html  css  js  c++  java
  • iOS之06-三大特性之继承

    继承

     1、定义

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

      继承:xx xxx

     2、实现

    1 A {
    2     int _age;
    3     int _no;
    4  }
    5  B : A {// 继承的实现
    6     int _weight;
    7  }

      : 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 *_变量名

    1 A {
    2     int _age;
    3     int _no;
    4  }
    5  B {
    6     A *_a; // 组合的实现
    7     int _weight;
    8  }

     8、关键字 super

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

      1> 作用

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

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

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

      2> 使用场合

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

  • 相关阅读:
    python解决线性规划问题
    python解决多变量最优化问题
    python处理单变量优化
    java枚举类常用方法
    java实现十大排序算法
    python解方程
    python科学计算包
    python做微积分
    php定界符<<<EOF讲解
    一键安装LNMP/LAMP
  • 原文地址:https://www.cnblogs.com/gfxxbk/p/5288983.html
Copyright © 2011-2022 走看看