问题 单项选择题

根据如图6-3所示的UML类图可知,类Car和类Boat中的move()方法 (47)

答案

参考答案:B

解析:[要点解析] 在UML类图中,“[*]”表示其相连的两个类之间存在泛化关系,即在图6-3中显示了一个继承结构:类Transport为基类,其子类分别为类Car和类Boat。同时注意到,在图6-3中的类Transport的名称之下有一个标识<<abstract>>。该标识用于说明该类是一个抽象类,类中的方法move()是必须在子类中重新定义的纯虚拟函数。由图6-3可以看出,在两个子类中都定义了函数原型完全相同的move()方法。
在面向对象程序设计中,使用动态多态重置(overriding)时需满足3个条件:①类之间具有继承关系、②基类中至少定义一个纯虚拟函数在子类中重新定义这个纯虚拟函数。图6-3给出的UML类图结构满足了重置的3个条件,说明子类Car和子类Boat中的move()方法重置了基类Transport的move()方法。

填空题
填空题