zoukankan      html  css  js  c++  java
  • OO面向对象———扩展类与被扩展类

    扩展类与被扩展类

    超类:被扩展类、基类、父类。被final修饰的类不可以做超类。

    子类:扩展类、子类。为了描述自己的独特性为,要重写超类的方法。如果不重写就默认继承了父类的方法。

    方法重载:同一个类中有多个名称相同的方法,但是参数的类型或参数的个数相同。

    方法重写:子类中的方法与超类中的参数列表和名称完全相同。

    注意:重写方法时,子类方法的可见性,可以变大,不可以变小。

    如:超类用protect修饰,则子类用protected,public修饰

    超类用public修饰,则子类用只能用public修饰。

     protected void teach(){
           System.out.println("111");
      }

     

    依赖:在类A中使用了类B,类B是作为类A的方法参数、方法的局部变量、或者静态方法调用。则类A依赖类B。

    Rect类依赖了Graphics类和String类以及ImgerHelper类

    关联:一个类的实例A使用另一个类的实例B,这两个对象之间为关联关系

    单向关联表现为类A当中使用了类B,B作为类A的成员变量

    public final class Person{
       private Student student;
    }

    双向关联

    public final class Person{
       private Student student;
    }
    public final class Student{
       private Person person;
    }

    凡事超类对象出现的地方,都可以用一个子类类型的对象来替换。反之不成立

    //加油机
    public  class Tanker{
       public void setReceiver(Receiver receiver){
           this.receiver = receiver;
      }
       private Receiver receiver;
    }

    参数receiver(受油机)可以用具体的如:fighter、bomber来替代

    继承:扩展一个类,也称为继承一个类。

    继承一个方法,就是子类不重写超类中定义的方法,完全采用超类中定义的逻辑。

     
  • 相关阅读:
    mac攻略(八) -- 神器zsh和iterm2的配置
    linux学习(二) -- ubuntu下lnmp环境的配置
    linux学习(一) -- ubuntu下lamp环境的配置
    算法学习(一) -- 基本算法
    laravel5.2总结--数据填充
    laravel5.2总结--数据迁移
    laravel5.2总结--redis使用
    laravel5.2总结--关联关系
    mac攻略(七) -- 环境变量PATH分析
    mac攻略(六) -- mac根目录分析
  • 原文地址:https://www.cnblogs.com/xianxiansir/p/12663930.html
Copyright © 2011-2022 走看看