先让我们看个题目:设计一个鸭子父类表示所有的鸭子,要求所有鸭子子类实现父类中的叫,跑两个功能。
你或许会这样设计:
public class Duck {
public void run(){
System.out.println("鸭子左摇右摆的跑");
}
public void call(){
System.out.println("鸭子嘎嘎的叫");
}
}
让每个鸭子类都继承 Duck, 这样所有的鸭子可以直接使用父类中的方法,也可以通过重写方法,实现其它鸭子自己的需求,你心里想,这也太简单了 (‾◡◝)。
理想很丰满,现实很残酷,我们只说设计鸭子子类,实现父类两个功能,但没说是什么鸭子,如果是烤鸭呢,它不会跑,只会很香