● 根据如下所示的 UML 类图可知,类 Car 和类 Boat 中的 move()方法 (1) 。(1)A. 引用了类Transport的move()方法B. 重置了类Transport的move()方法C. 是类Transport的move()方法的聚集D. 是类Transport的move()方法的泛化

题目

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

(1)

A. 引用了类Transport的move()方法

B. 重置了类Transport的move()方法

C. 是类Transport的move()方法的聚集

D. 是类Transport的move()方法的泛化


相似考题
更多“ ● 根据如下所示的 UML 类图可知,类 Car 和类 Boat 中的 move()方法 (1) 。(1)A. 引用了类Transport的move()方法B. 重置了类Transport的move()方法C. ”相关问题
  • 第1题:

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

    A.引用了类Transport的move()方法

    B.重置了类Transport的move()方法

    C.是类Transport的move()方法的聚集

    D.是类Transport的move()方法的泛化


    正确答案:B
    解析:本题考查的是面向对象程序设计中的动态多态——重置(overriding)。使用重置时需满足三个条件:类之间具有继承关系、基类中至少定义一个纯虚拟函数、在子类中重新定义这个纯虚拟函数。本题将这个知识点与UML类图结合起来考查。题中所示的UML类图显示了一个继承结构:类Transport为基类,其子类分别为类Car和类Boat。值得注意的是,图中的类 Transport的表示,在其名字之下有一个标识abstract>>,这说明该类是一个抽象类,类中的方法move()就是必须在子类中重新定义的纯虚拟函数。由图中可以看出,在两个子类中都定义了函数原型完全相同的move()方法。因此该UML类图给出的结构满足了重胃的三个条件,说明类Car和类Boat中的move()方法重置了类Transport的move()方法。

  • 第2题:

    如下所示的UML类图中,Car和Boat类中的move( )方法( )了Transport类中的move( )方法。

    A.继承
    B.覆盖(重置)
    C.重载
    D.聚合

    答案:B
    解析:
    覆盖:子类重写父类的方法
    重载:一个类可以有多个同名而参数类型不同的方法

  • 第3题:

    25、使用Directory类的Move()方法可以删除文件


    错误

  • 第4题:

    【说明】下图是某学校信息系统的一个类图,图中属性和方法前的"+"、"#"和"- " 分别表示公有成员、保护成员和私有成员。其中:



    (1) 类Manager重新实现了类Student的方法 calScore( ),类Manager中的方法calWorkDays( )继承了其父类Employee的方法calWorkDays ( )。(2)创建类 Student的对象时,方法calStudent( ),根据每位同学的情况计算分数。(3)类Department中的方法statScore()中首先调用了该类的方法load( ),获取本班学生列表,然后调用了类 Student中的方法calScore( )。现拟采用面向对象的方法进行测试。 【问题1】(5分)图4-1 所示的类图中,类manager 和类Employee之间是什么关系?该关系对测试的影响是什么?
    【问题2】(6分)(1) 类Manager重新实现了类Student的方法calScore( ),这是面向对象的什么机制?是否需要重新测试该方法?(2) 类Manager中的方法calWorkDays ( )继承了其父类 Student 的方法calWorkDays ( ),是否需要重新测试该方法?【问题3】(6分)请给出类图中各个类的测试顺序。【问题4】(3分)从面向对象多态特性考虑,测试方法statScore( )时应注意什么?


    答案:
    解析:
    【问题1】
    (1) 泛化关系;(2) 继承的成员函数是否需要测试;对父类的测试是否能用到子类上。【问题2】
    (1)、多态机制;需要重新测试,因为在子类中重新进行了定义,所以需要重新测试;(2)、不需要重新测试,因为子类继承了父类的方法,只要父类的该方法通过测试了即可。【问题3】
    先测试Student类,然后Manager类,最后测试Department类。【问题4】
    只需要在原有的测试分析基础上增加对测试用例中输入数据的类型的考虑即可。先测试基类,然后再分别依据输入数据设计不同的测试用例。
    【解析】
    【问题1】
    考察类图的泛化关系。泛化关系(Generalization)也就是继承关系,也称为“is-a-kind-of”关系,泛化关系用于描述父类与子类之间的关系,父类又称作基类或超类,子类又称作派生类,泛化关系通常用带空心三角形的直线来表示。对泛化关系有三个要求:1、子类与父类应该完全一致,父类所具有的属性、操作,子类应该都有;2、子类中除了与父类一致的信息以外,还包括额外的信息;3、可以使用父类的实例的地方,也可以使用子类的实例;
    【问题2】
    该题考察面向对象的多态机制和继承机制。多态就是在使用父类的引用调用方法的时候,不是使用父类中的方法,而是父类指向的对象的方法,这样就实现了多态。继承是指在一个类基础上定义一个新类,原有的类叫做父类,新生成的类叫子类,继承的过程是一个从一般到特殊的过程。【问题3】
    由类结构可以分析出,Student应该先测,而Department依赖于Manager,因此,Manager应先于Department测试 【问题4】
    题干描述,方法statScore()需要调用Student中的calScore()。而该方法在Student和Manager中有不同的实现,因此需要同时考虑Student和Manager中的calScore()。

  • 第5题:

    1、定义一个交通工具抽象类Antomobile,其中包含一个行驶的抽象方法Move(),并通过小轿车Car类去实现抽象方法,并通过Main函数调用实现后的Move()方法。


    ABCD