【发布时间】:2014-06-05 18:42:13
【问题描述】:
我在网上找到了这些问题(滑铁卢大学考试学习问题https://www.student.cs.uwaterloo.ca/~cs125/S08/Resources/Exams/StudyQuestions/W07ExamReview/inheritance_questions.txt),但它们发布时没有任何答案,所以我想知道我是否正确。
假设名为 SportsCar 的类是名为汽车的类的子类。假设汽车类具有名为 speed、manufacturer 和 numberOfCylinders 的实例变量。 SportsCar 类的对象是否会有名为 speed、manufacturer 和 numberOfCylinders 的实例变量?
假设名为 SportsCar 的类是名为汽车的类的子类,并假设汽车类具有名为加速和 addGas 的公共方法。 SportsCar 类的对象是否有名为Accelerator 和addGas 的方法?如果是这样,这些方法是否必须在 SportsCar 类中执行与汽车类中完全相同的操作?
是的,因为子类继承了所有超类的方法并且 变量
SportsCar 类有 addGas 方法,但不会执行 与汽车类中的方法“完全相同”的操作。
提前谢谢你!
【问题讨论】:
-
问题 2 有点棘手,你不会有子类中的方法。但是,您仍然可以从超类中调用它们(使其完全相同)。
-
啊,如果继承父类,子类中的方法会和超类中的方法同名吗?
-
是的,同名。功能取决于您是否覆盖
-
谢谢,因为您现在在这里,所以只是一个简单的问题。子类的实例是否被视为超类的实例?
-
是的,如果你有一个对象
Vehicle并且Car是它的子类。您可以拥有Vehicle的列表,而Car将被视为车辆。总而言之,这个主题主要是处理多态性,它是与对象的“是”关系。 示例汽车“IS A”车辆。得到它? :) @user3529827
标签: java inheritance