OO面向对象———扩展类与被扩展类
扩展类与被扩展类
超类:被扩展类、基类、父类。被final修饰的类不可以做超类。
子类:扩展类、子类。为了描述自己的独特性为,要重写超类的方法。如果不重写就默认继承了父类的方法。
方法重载:同一个类中有多个名称相同的方法,但是参数的类型或参数的个数相同。
方法重写:子类中的方法与超类中的参数列表和名称完全相同。
注意:重写方法时,子类方法的可见性,可以变大,不可以变小。
如:超类用protect修饰,则子类用protected,public修饰
超类用public修饰,则子类用只能用public修饰。
protected void teach(){
System.out.println("111");
}
依赖
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来替代
继承:扩展一个类,也称为继承一个类。
继承一个方法,就是子类不重写超类中定义的方法,完全采用超类中定义的逻辑。