多选题下列有关多态的叙述正确的是哪项()A父类的引用指向子类的实例是一种多态B子类的引用指向子类的实例是一种多态C接口的引用指向实现该接口类的实例是一种多态D抽象类的引用指向抽象类的实例是一种多态

题目
多选题
下列有关多态的叙述正确的是哪项()
A

父类的引用指向子类的实例是一种多态

B

子类的引用指向子类的实例是一种多态

C

接口的引用指向实现该接口类的实例是一种多态

D

抽象类的引用指向抽象类的实例是一种多态

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

_是实现信息隐蔽的一种技术,其目的是使类的定义与实现相互分离。

A.引用

B.继承

C.封装

D.多态


正确答案:C

第2题:

类的实例化过程不仅是根据单个类进行的空间分配、初始化和绑定,它是一种实例的合成过程。指与编译程序进行这种合成的是(46)。

A.每个实例的初始状态

B.实例的个数

C.类层次结构

D.多态的种类


正确答案:C
解析:在一个面向对象的系统中,子类与父类之间的继承关系就构成了该系统的类层次结构,通常单继承用树来描述,多继承用格来描述。当执行一个子类的实例生成方法时,首先在类层次结构中从该子类沿继承路径回溯至它的一个基类,然后自顶向下地执行该子类所有父类的实例生成方法,最后执行该子类实例生成方法的函数体。可见,类层次结构指导编译程序进行类的实例化合成。

第3题:

Java中有关“重载”和“重写”的说法正确的是()

A.“重写”是父类与子类之间多态性的一种表现

B.“重载”是一个类中多态性的一种表现

C.“重载”的方法是可以改变返回值的类型

D.“重载”的方法不能改变返回值的类型


参考答案:A, B, C

第4题:

类的实例化过程是一种实例的合成过程,而不仅仅是根据单个类型进行的空间分配、初始化和绑定。指导编译程序进行这种合成的是(47)。

A.类层次结构

B.实例的个数

C.多态的种类

D.每个实例的初始状态


正确答案:A
解析:在一个面向对象系统中,子类与父类之间的继承关系构成了这个系统的类层次结构,可以用树(对应于单继承)或者格(对应于多继承)这样的图来描述。当执行一个子类的实例生成方法时,首先在类层次结构中从该子类沿继承路径上溯至它的一个基类,然后自顶向下地执行该子类所有父类的实例生成方法:最后执行该子类实例生成方法的函数体。与一般数据类型的实例化过程相比,类的实例化过程是一种实例的合成过程,而不仅仅是根据单个类型进行的空间分配、初始化和绑定。指导编译程序进行这种合成的,就是类层次结构。

第5题:

下面对于抽象类描述不正确的是()。

A.抽象类只能作为基类使用

B.抽象类不能定义对象

C.抽象类可以定义实例对象

D.可以实现多态


正确答案:B

第6题:

对于如下所示的UML类图,正确的描述是(41)。

A.类B的实例中包含了对类C的实例的引用

B.类A的实例中包含了对类B的实例的引用

C.类A的实例中包含了对类C的实例的引用

D.类B的实例中包含了对类A的实例的引用


正确答案:B
解析:本题考查的是UML中的关联关系。UML中,关联(association)是一种结构关系,它指明一个事物的对象与另一个事物的对象之间的联系。给定一个连接两个类的关联,可以从一个类的对象导航到另一个类的对象,反之亦然。在图形上,把关联画成一条连接相同类或不同类的实线。通过一个指示走向的单向箭头修饰关联,可以显示地描述导航的方向。题目中所示的UML类图中,导航方向为A→B,说明可以从类A的实例导航到类B的实例,因此在类A中必然包含一个对类B的实例的引用。图上“C”表示的是关联一端的角色名称。

第7题:

在类体系中访问一个虚函数时,应使用指向______ 的指针或对基类类型的引用,以满足运行时多态性的要求。


正确答案:基类类型
基类类型

第8题:

抽象类不能直接被实例化,但可以定义抽象类变量,用抽象类的子类实例来给其赋值。()

此题为判断题(对,错)。


正确答案:正确

第9题:

在面向对象技术中,一个子类的对象同时又属于父类,它继承了父类的一切属性,这种多态性称为(38)。

A.参数多态

B.过载多态

C.包含多态

D.隐含多态


正确答案:C
解析:多态性是指作用于不同的对象的同一个操作可以有不同的解释,从而产生不同的执行结果。多态性可分为参数多态、包含多态、过载多态和隐含多态4种类型。这些类型各自的说明见表2-14。

第10题:

重置(over riding)的基本思想是通过______机制的支持,使得子类在继承父类界面定义的前提下,用适合于自己要求的实现去置换父类中的相应实现。

A.对象引用

B.动态绑定

C.多态迁移

D.类型匹配


正确答案:B
解析:重置(overriding)的基本思想是通过动态绑定机制的支持,使得子类在继承父类界面定义的前提下,用适合于自己要求的实现去置换父类中的相应实现。在Java语言中,通过抽象方法来进行重置的声明,通过方法查找实现重置方法体的动态绑定。在c++语言中,通过虚拟函数的定义来进行重置的声明,通过虚拟函数跳转表结构来实现重置方法体的动态绑定。

更多相关问题