更多“在面向对象技术中,多态有多种不同的形式,其中(44)和包含多态称为通用多态,(45)和强制多态称为特 ”相关问题
  • 第1题:

    在面向对象技术中,多态有多种不同的形式,其中(1)和(2)称为通用多态,(3)和强制多态称为特定多态。

    A.参数多态

    B.过载多态

    C.隐含多态

    D.重置多态


    正确答案:A

  • 第2题:

    在面向对象技术中,多态有多种不同的形式,其中(32)和(33)称为通用多态,(34)和强制多态称为特定多态。

    A.隐含多态

    B.过载多态

    C.参数多态

    D.重置多态


    正确答案:C
    解析:在面向对象技术中,对象在收到信息后要予以响应,不同的对象收到同一消息可产生完全不同的结果,这一现象称为多态。在使用多态技术时,用户可以发送一个通用的消息,而实现的细节则由接受对象自行决定,这样同一消息就可以调用不同的方法。多态有多种不同的形式,其中参数多态和包含多态称为通用多态,过载多态和强制多态成为特定多态。参数多态应用比较广泛,被称为最纯的多态。这是因为同一对象、函数或过程能以一致的形式用于不同的类型。包含多态最常见的例子就是子类型化,即—个类型是另一类型的子类型。过载多态是同一变量被用来表示不同的功能,通过上下文以决定一个名字所代表的功能,即通过语法对不同语义的对象使用相同的名字,编译能够消除这一模糊。强制多态是通过语义操作把一个变元的类型加以变换,以符合一个函数的要求,如果不做这一强制性变换将出现类型错误。类型的变换可在编译时完成,通常是隐式地进行,当然也可以在动态运行时来做。

  • 第3题:

    多态分为参数多态、包含多态、过载多态和强制多态四种不同形式,其中(38)多态在许多语言中都存在,最常见的例子就是子类型化。

    A.参数
    B.包含
    C.过载
    D.强制

    答案:B
    解析:
    多态分为两种:通用的多态和特定的多态。两者的区别是前者对工作的类型不加限制,允许对不同类型的值执行相同的代码:后者只对有限数量的类型有效,而对不同类型的值可能要执行不同的代码。通用的多态又分为参数多态(parametric)和包含多态(Inclusion);特定的多态分为过载多态(overloading)和强制多态(coercion)。强制多态:编译程序通过语义操作,把操作对象的类型强行加以变换,以符合函数成操作符的要求。程序设计语言中基本类型的大多数操作符,在发生不同类型的数据进行混合运算时,编译程序一般都进行强制多态。过载(overloading)多态:同一个名(操作符、函数名)在不同的上下文中有不同的类型,程序设计语言中基本类型的大多数操作符都是过载多态的。参数多态:采用参数化模板,通过给出不同的类型参数,使得一个结构有多种类型。包含多态:同样的操作可用于一个类型及其子类型。(注意是子类型,不是子类。)包含多态一般需要进行运行时的类型检查。

  • 第4题:

    在面向对象技术中,多态有多种不同的形式,其中(16)和(17)称为通用多态,(18)和强制多态称为特定多态。

    A.参数多态

    B.过载多态

    C.隐含多态

    D.重置多态


    正确答案:A

  • 第5题:

    多态分为参数多态、包含多态、过载多态和强制多态四种不同形式,其中 () 多态在许多语言中都存在,最常见的例子就是子类型化。

    A.参数

    B.包含

    C.过载

    D.强制


    正确答案:B
    本题考查面向对象的基本知识。面向对象系统中,在收到消息时,对象要予以相应。多态(polymorphism)是不同的对象收到同一消息可以进行不同的响应,产生完全不同的结果,用户可以发送一个通用的消息,而实现细节则由接收对象自行决定,使得同一个消息就可以调用不同的方法,即一个对象具有多种形态。Cardelli和Wegner将多态分为4种不同的形式:参数多态、包含多态、过载多态和强制多态。其中参数多态是应用比较广的多态,包含多态在许多语言中都存在,最常见的例子就是子类型化。过载多态是同一个名字在不同的上下文中所代表的含义。