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

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

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

 
原文地址:https://www.cnblogs.com/xianxiansir/p/12663930.html