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来替代

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

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

     
  • 相关阅读:
    [MySQL优化案例]系列 — 分页优化
    [MySQL优化案例]系列 — RAND()优化
    CSS模块化思想-----命名是个技术活
    php curl选项列表(超详细)
    CURL使用介绍
    HTTP头信息
    git常用命令
    Git .gitignore文件说明
    yield(),wait(),sleep(),join()
    Java对象序列化和返序列化
  • 原文地址:https://www.cnblogs.com/xianxiansir/p/12663930.html
Copyright © 2011-2022 走看看