C语言面向对象技术答案 下载本文

内容发布更新时间 : 2024/6/13 1:07:46星期一 下面是文章的全部内容请认真阅读。

C语言面向对象技术+答案

●下面关于面向对象方法中消息的叙述,不正确的是____(2)__。 (2)A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息

D.发送与接收消息的通信机制与传统的子程序调用机制不同

正确答案:B

【解析】在系统中既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此的通信,这样的方法才称为\面向对象的方法\。

●面向对象技术中,对象是类的实例。对象有三种成份:____(3)____、属性和 方法(或操作)。

(3) A. 标识B. 规则C. 封装D. 消息

正确答案:A

解析:对象有三种成份:标识(对象名)、属性和方法(或操作)。

● 在面向对象技术中,类属是一种__(1)__机制。一个类属类是关于一组类的一个特性抽象,它强调的是这些类的成员特征中与__(2)__的那些部分,而用变元来表示与__(3)__的那些部分。

(1)A.包含多态B.参数多态C.过载多态D.强制多态

(2)A.具体对象无关B.具体类型无关C.具体对象相关D.具体类型相关 (3)A.具体对象无关B.具体类型无关C.具体对象相关D.具体类型相关

解析:在面向对象技术中,对象在收到信息后要予以响应。不同的对象收到同一消息可产生完全不同的结果,这一现象称为多态。多态有多种不同的形式,其中参数多态和包含多态称为通用多态,过载多态和强制多态成为特定多态。参数多态应用比较广泛,被称为最纯的多态。这是因为同一对象、函数或过程能以一致的形式用于不同的类型。包含多态最常见的例子就是子类型化,即一个类型是另一类型的子类型。过载多态是同一变量被用来表示不同的功能,通过上下文以决定一个类所代表的功能。即通过语法对不同语义的对象使用相同的名,编译能够消除这一模糊。强制多态是通过语义操作把一个变元的类型加以变换,以符合一个函数的要求,如果不做这一强制性变换将出现类型错误。类型的变换可在编译时完成,通常是隐式地进行,当然也可以在动态运行时来做。类属类(generic class)仅描述了适用于一组类型的通用样板,由于其中所处理对象的数据类型尚未确定,因而程序员不可用类属类直接创建对象实例,即一个类属类并不是一种真正的类类型。类属类必须经过实例化后才能成为可创建对象实例的类类型。类属类的实例化是指用某一数据类型替代类属类的类型参数。类属类定义中给出的类型参数称为形式类属参数,类属类实例化时给出的类型参数称为实际类属参数。如果类属类实例化的实际类属参数可以是任何类型,那么这种类属类称为无约束类属类。然而在某些情

况下,类属类可能要求实际类属参数必须具有某些特殊的性质,以使得在类属类中可应用某些特殊操作,这种类属类称为受约束类属类。

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

(47)A.类层次结构B.实例的个数C.多态的种类D.每个实例的初始状态 ●重置的基本思想是通过_(48)_机制的支持,使得子类在继承父类界面定义的前提下,用适合于自己要求的实现去置换父类中的相应实现。 (48)A.静态绑定B.对象引用C.类型匹配D.动态绑定

●OMT 定义了三种模型来描述系统。_(49)_可以用状态图来表示;_(50)_可以用数据流图来表示。_(51)_为上述两种模型提供了基本的框架。 (49)A.对象模型B.功能模型C.动态模型D.类模型 (50)A.对象模型B.功能模型C.动态模型D.类模型 (51)A.对象模型B.功能模型C.动态模型D.类模型

● 在UML 提供的图中, ____(31)____用于描述系统与外部系统及用户之间的交互;___(32)___用于按时间顺序描述对象间交互。 (31)A.用例图B.类图C.对象图D.部署图 (32)A.网络图B.状态图C.协作图D.序列图 在关于类的实例化的描述中,正确的是__(45)___。

●在关于类的实例化的描述中,正确的是__(45)___。

(45)A.同一个类的对象具有不同的静态数据成员值 B.不同的类的对象具有相同的静态数据成员值 C.同一个类的对象具有不同的对象自身引用(this)值 D.不同的类的对象具有相同的对象自身引用(this)值

正确答案:C

学过面向对象编程语言的人,应该对this这个关键字并不陌生,它是对象自身引用值。程序当运行时,this相当于当前类产生对象的名称。所以对于同一个类的对象具有不同的对象自身引用(this)值。

●在某个信息系统中,存在如下的业务陈述:①一个客户提交0 个或多个订单;②一个订单由一个且仅由一个客户提交。系统中存在两个类:“客户”类和“订单”类。对应每个“订单”类的实例,存在___(46)___“客户”类的实例;对应每个“客户”类的实例,存在___(47)___个“订单”类的实例。 (46)A.0 个B.1 个C.1 个或多个D.0 个或多个 (47)A.0 个B.1 个C.1 个或多个D.0 个或多个

●下列关于静态多态实现重载的描述中正确的是____(30)___。 (30)A.重载的方法(函数)的方法名(函数名)可以不同 B.重载的方法(函数)必须在返回值类型以及参数类型上有所不同 C.重载的方法(函数)必须在参数顺序或参数类型上有所不同 D.重载的方法(函数)只需在返回值类型上有所不同 试题(30)分析

方法的重载必须保证方法的签名不同,所谓方法的签名是指函数或方法的名字和参数的类型和参数的顺序。重载要求在参数的顺序或者参数的类型上有所不同,对返回值没有要求。 参考答案 (30)C

●程序设计语言提供了基本类型及其相关的操作,而____(31)____则允许开发者自定义一种新的类型及其相关的操作。 供选择的答案:

(31)A.对象B.实例C.类D.引用 试题(31)分析

类是能够由用户定义的一种新的类型。对象是类的实例。 参考答案 (31)C

●___(32)___表示了对象间“is-a”的关系。