我将在我的第一个面向对象程序设计类(class)中参加期末考试,但我仍然不了解多态性的概念。
假设我有一个抽象类“Vehicle”,该类有一个名为“Aircraft”的子类。我的问题是,这两个代码有什么区别?
Aircraft Jetplane = new Aircraft();
和
Vehicle Jetplane = new Aircraft();
最佳答案
在第二个方面,Jetplane可以是从Vehicle继承的任何其他东西,而不仅仅是飞机。例如,您可能会遇到类似
Vehicle veh = null;
if (someCondition)
veh = new Aircraft();
else
veh = new Boat();
在第一个示例中无法做到这一点,因为船不是飞机。