根据如图1-7所示的UML类图可知,类Car和类Boat中的move()方法______。

admin2011-01-04  29

问题 根据如图1-7所示的UML类图可知,类Car和类Boat中的move()方法______。

选项 A、引用了类Transport的move()方法
B、重置了类Transport的move()方法
C、是类Transport的move()方法的聚集
D、是类Transport的move()方法的泛化

答案B

解析 在UML类图中,“”表示其相联的两个类之间存在泛化关系,即在图1-7中显示了一个继承结构:类Transport为基类,其子类分别为类Car和类Boat。同是注意到,在图1-7中的类Transport的名字之下有一个标识<>。该标识用于说明该类是一个抽象类,类中的方法move()必须在子类中重新定义的纯虚拟函数。由图1-7中可以看出,在两个子类中都定义了函数原型完全相同的move()方法。
   在面向对象程序设计中,使用动态多态一一重置(overriding)时需满足3个条件:①类之间具有继承关系、②基类中至少定义一个纯虚拟函数、③在子类中重新定义这个纯虚拟函数。因此,图1-7给出的UML类图结构满足了重置的3个条件,说明子类Car和子类Boat中的move()方法重置了基类Transport的move()方法。
转载请注明原文地址:https://jikaoti.com/ti/nxJ7FFFM
0

随机试题
最新回复(0)