面向对象技术答案.docx

上传人:b****2 文档编号:23277965 上传时间:2023-05-15 格式:DOCX 页数:20 大小:29.09KB
下载 相关 举报
面向对象技术答案.docx_第1页
第1页 / 共20页
面向对象技术答案.docx_第2页
第2页 / 共20页
面向对象技术答案.docx_第3页
第3页 / 共20页
面向对象技术答案.docx_第4页
第4页 / 共20页
面向对象技术答案.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

面向对象技术答案.docx

《面向对象技术答案.docx》由会员分享,可在线阅读,更多相关《面向对象技术答案.docx(20页珍藏版)》请在冰豆网上搜索。

面向对象技术答案.docx

面向对象技术答案

●下面关于面向对象方式中消息的叙述,不正确的是____

(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)个个个或多个个或多个

(47)个个个或多个个或多个

●下列关于静态多态实现重载的描述中正确的是____(30)___。

(30)A.重载的方式(函数)的方式名(函数名)可以不同

B.重载的方式(函数)必需在返回值类型和参数类型上有所不同

C.重载的方式(函数)必需在参数顺序或参数类型上有所不同

D.重载的方式(函数)只需在返回值类型上有所不同

试题(30)分析 

    方式的重载必需保证方式的签名不同,所谓方式的签名是指函数或方式的名字和参数的类型和参数的顺序。

重载要求在参数的顺序或参数的类型上有所不同,对返回值没有要求。

 参考答案     (30)C 

●程序设计语言提供了大体类型及其相关的操作,而____(31)____则允许开发者自概念一种新的类型及其相关的操作。

供选择的答案:

(31)A.对象B.实例C.类D.引用

试题(31)分析 

类是能够由用户概念的一种新的类型。

对象是类的实例。

参考答案     (31)C

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

供选择的答案:

(32)A.组合B.引用C.聚合D.继承

试题(32)分析 

继承表达了子类对象是一种父类对象的关系。

 

参考答案     (32)D

●若对象A可以给对象B发送消息,那么___(48)___。

供选择的答案:

(48)A.对象B可以看见对象AB.对象A可看见对象B

C.对象A、B彼此不可见D.对象A、B彼此可见

试题(48)分析 

    对象A可以给对象B发送消息,那么表明对象A可以挪用对象B的方式,那么对象A可以看见对象B。

 

参考答案     (48)B

●类描述了一组对象一路的特性,下列叙述中正确的是____(49)____。

供选择的答案:

(49)A.类本身不能具有变量B.对象具有类概念的所有变量的一份拷贝

C.对象间不能共享类概念的变量D.可通过类名访问静态变量(类变量)

试题(49)分析 

    类也可以有变量,所有类的对象都共享此类的变量。

 参考答案     (49)D

●___(50)___反映了类间的一种层次关系,而___(51)____反映了一种整体与部份的关系。

(50)A.继承B.组合C.封装D.多态

(51)A.继承B.组合C.封装D.多态

试题(50)、(51)分析 

    继承反映了类间的一种层次关系,而组合反映了一种整体与部份的关系。

 参考答案 

    (50)A    (51)B 试题(52) 

●下列叙述中正确的是___(52)__。

供选择的答案:

(52)A.面向对象程序设计语言都不支持进程化的程序设计

B.面向对象系统只可采用面向对象程序设计语言实现

C.某些进程化程序设计语言也可实现面向对象系统

D.面向对象程序设计语言不支持对成员变量的直接访问

 试题(52)分析 

    某些面向对象的程序设计语言支持进程化的程序设计,进程化的程序设计语言也可实现面向对象系统。

 参考答案     (52)C

●在面向对象软件开发进程中,采用设计模式(37)。

(37)A.允许在非面向对象程序设计语言中利用面向对象的概念

B.以复用成功的设计和体系结构

C.以减少设计进程创建的类的个数

D.以保证程序的运行速度达到最优值

●以下关于单身模式(Singleton)的描述中,正确的是(38)。

(38)A.它描述了只有一个方式的类的集合

B.它能够保证一个类只产生一个唯一的实例

C.它描述了只有一个属性的类的集合

D.它能够保证一个类的方式只能被—个唯一的类挪用

正确答案:

B单身模式(Singleton是一种创建型模式。

创建型模式抽象了实例化进程,它们帮忙一个系统独立于如何创建、组合和表示它的对象。

对于系统中的某些类而言,只有一个实例是很重要的。

单身模式的用意就是保证一个类仅有一个实例,并提供一个访问它的全局访问点。

●下列关于一个类的静态成员的描述中,不正确的是(39)。

(39)A.该类的对象共享其静态成员变量的值

B.静态成员变量可被该类的所有方式访问

C.该类的静态方式只能访问该类的静态成员变量

D.该类的静态数据成员变量的值不可修改

●在MVC(模型/视图/控制器)模式中,视图部份描述的是(40)。

(40)A.将应用问题域中包括的抽象领域知识呈现给用户的方式

B.应用问题域中所包括的抽象类

C.用户界面对用户输入的响应方式

D.应用问题域中包括的抽象领域知识

正确答案:

A解析:

MVC模式,即模型—视图—控制(Model-View-Controller)模式,它实际上是一种架构模式,是为那些需要为一样的数据提供多个视图的应用程序而设计的,它很好地表现了数据层与表示层的分离。

 MCV把应用程序分为3种对象类型。

 . 模型:

应用问题域中包括的抽象领域知识; . 视图:

将应用问题域中包括的抽象领域知识呈现给用户的方式:

一个模型可以用于多个视图; . 控制器:

用户界面对用户输入的响应方式。

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

(41)A.类B的实例中包括了对类C的实例的引用

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

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

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

正确答案:

B解析:

UML类图一般包括3个组成部份。

第一个是类名,第二个是属性,第三个是该类提供的方式(类的性质可以放在第四部份;若是类中含有内部类,则会出现第五个组成部份)。

类名部份是不能省略的,其他组成部份可以省略。

类名书写规范:

正体字说明类是可被实例化的,斜体字说明类为抽象类。

属性和方式书写规范:

修饰符[描述信息]属性、方式名称[参数][:

返回类型|类型]属性和方式之前可附加的可见性修饰符:

加号(+)表示public,减号(-)表示private,#号表示protected,省略这些修饰符表示具有package(包)级别的可见性。

若是属性或方式具有下画线,则说明它是静态的。

类的性质是由一个属性、一个赋值方式和一个取值方式组成的。

书写方式和方式类似。

常见的关系有一般化关系、实现关系、聚合关系、合成关系和依赖关系。

请注意不同关系在图中连线表示的不同。

一般化关系表示类与类、接口与接口之间的继承关系。

关系中的箭头由子类指向父类。

在Java中,用extends关键字来直接表示这种关系。

●UML中关联的多重度是指(42)。

(42)A.一个类有多少个方式被另一个类挪用

B.一个类的实例能够与另一个类的多少个实例相关联

C.一个类的某个方式被另一个类挪用的次数

D.两个类所具有的相同的方式和属性

●已知3个类A、B和C,其中类A由类B的一个实例和类C的1个或多个实例组成。

能够正确表示类A、B和C之间关系的UML类图是(43)。

正确答案:

A

解析:

类A由类B的一个实例和类C伪1个或多个实例组成,可见这是整体与部份的关系。

在UML中,用聚集来表示“整体与部份”这种关联,在整体一端连接—个空心菱形。

再按照上题中重复度的解释,显然选择A。

选项B是普通关联,不能准确描述题目要求。

[*]

●面向对象分析的第一步是(33).

(33)A.概念服务B.肯定附加的系统约束

C.肯定问题域D.概念类和对象

●面向对象程序设计语言为(34)提供支持。

(34)A.面向对象用例设计阶段B.面向对象分析阶段

C.面向对象需求分析阶段D.面向对象实现阶段

●下面关于面向对象的描述正确的(35)。

(35)A.针对接口编程,而不是针对实现编程

B.针对实现编程,而不是针对接口编程

C.接口与实现不可分割

D.优先利用继承而非组合

●下面关于UML文档的叙述中正确的是(36)。

(36)A.UML文档指导开发人员如何进行面向对象分析

B.UML文档描述了面向对象分析与设计的结果

C.UML文档给出了软件的开发进程和设计流程

D.UML文档指导开发人员如何进行面向对象设计

解析:

UML文档仅是设计者与开发人员采用UML语言进行系统分析与设计的结果,并无给出如何进行系统开发和采用哪一种开发流程,它也不指导开发人员如何进行面向对象设计。

●UML的设计视图包括了类、接口和协作,其中,设计视图的静态方面由(37)和(38)表现;动态方面由交互图、(39)表现。

(37)A.类图B.状态图C.活动图D.用例图

(38)A.状态图B.顺序图C.对象图D.活动图

(39)A.状态图和类图B.类图和活动图

C.对象图和状态图D.状态图和活动图

●UML中的构件是遵从一组接口并提供一组接口的实现,下列说法错误的是(40)。

(40)A.构件应是可替换的B.构件表示的是逻辑模块而不是物理模块

C.构件应是组成系统的一部份D.构件与类处于不同的抽象层次

正确答案:

B解析:

构件应该是物理模块而不是逻辑模块。

●设计模式具有(41)的长处。

(41)A.适应需求转变B.程序易于理解

C.减少开发进程中的代码开发工作量D.简化软件系统的设计

●下面的(42)模式将对象组合成树形结构以表示“部份一整体”的层次结构,并使得用户对单个对象和组合对象的利用具有一致性。

(42)A.组合(Composite)B.桥接(Bridge)

C.修饰(Decorator)D.外观(Facade)

●下图描述了一种设计模式,该设计模式不可以(43)。

(43)A.动态决定由一组对象中某个对象处置该请求

B.动态指定处置一个请求的对象集合,并高效率地处置一个请求

C.使多个对象都有机缘处置请求,避免请求的发送者和接收者间的祸合关系

D.将对象连成一条链,并沿着该链传递请求

处置一个请求的物件集合可以被动态的指定,但并非见得高效率. 

●在面向对象程序设计中,常常将接口的概念与接口的实现相分离,可概念不同的类实现相同的接口。

在程序运行进程中,对该接口的挪用可按如实际的对象类型挪用其相应的实现。

为达到上述目的,面向对象语言须提供(44)机制。

(44)A.继承和过载(overloading)B.抽象类

C.继承和重置(overriding)D.对象目身引用

超载即为重载,重置是覆盖.(也是动态绑定,多态) 

●面向对象分析与设计是面向对象软件开发进程中的两个重要阶段,下列活动中,(36)不属于面向对象分析阶段。

(36)A.构建分析模型B.识别分析类C.肯定接口规格D.评估分析模型

●在某大学学生学籍管理信息系统中,假设学生年龄的输入范围为16~40,则按照黑盒测试中的等价类划分技术,下面划分正确的是(37)。

(37)A.可划分为2个有效等价类,2个无效等价类

B.可划分为1个有效等价类,2个无效等价类

C.可划分为2个有效等价类,1个无效等价类

D.可划分为1个有效等价类,1个无效等价类

●面向对象分析需要找出软件需求中客观存在的所有实体对象(概念),然后归纳、抽象出实体类。

(38)是寻觅实体对象的有效方式之一。

(38)A.会议调查B.问卷调查C.调查D.名词分析

●在“模型-视图-控制器”(MVC)模式中,(39)主要表现用户界面,(40)用来描述核心业务逻辑。

(39)A.视图B.模型C.控制器D.视图和控制器

(40)A.视图B.模型C.控制器D.视图和控制器

●在进行面向对象设计时,采用设计模式能够(41)。

(41)A.复用相似问题的相同解决方案B.改善代码的平台可移植性

C.改善代码的可理解性D.增强软件的易安装性

●下面给出了四种设计模式的作用:

外观(Facade):

为子系统中的一组功能挪用提供一个一致的接口,这个接口使得这一子系统加倍容易利用;装饰(Decorate):

当不能采用生成子类的方式进行扩充时,动态地给一个对象添加一些额外的功能;单件(Singleton):

保证一个类仅有一个实例,并提供一个访问它的全局访问点;模板方式(TemplateMethod):

在方式中概念算法的框架,而将算法中的一些操作步骤延迟到子类中实现。

请按照下面叙述的场景选用适当的设计模式。

若某面向对象系统中的某些类有且只有一个实例,那么采用(42)设计模式能够有效达到该目的;该系统中的某子模块需要为其它模块提供访问不同数据库系统(Oracle、SQLServer、DB2UDB等)的功能,这些数据库系统提供的访问接口有必然的不同,但访问进程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,(43)设计模式可抽象出相同的数据库访问进程;系统中的文本显示类(TextView)和图片显示类(PictureView)

都继承了组件类(Component),别离显示文本和图片内容,现需要构造带有转动条、或带有黑色边框、或既有转动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,(44)设计模式可以实现该目的。

(42)A.外观B.装饰C.单件D.模板方式

(43)A.外观B.装饰C.单件D.模板方式

(44)A.外观B.装饰C.单件D.模板方式

●在采用标准UML构建的用例模型(Use-CaseModel)中,参与者(Actor)与用例(UseCase)是模型中的主要元素,其中参与者与用例之间可以具有(45)关系。

(45)A.包括(include)B.递归(Recursive)

C.关联(Association)D.组合(Composite)

●当采用标准UML构建系统类模型(ClassModel)时,若类B除具有类A的全数特性外,类B还可概念新的特性和置换类A的部份特性,那么类B与类A具有(46)关系;若类A的对象维持类B对象的引用或指针,并可与类C的对象共享相同的类B的对象,那么类A与类B具有(47)关系。

(46)A.聚合B.泛化C.传递D.迭代

(47)A.聚合B.泛化C.传递D.迭代

●(37)表示了系统与参与者之间的接口。

在每一个用例中,该对象从参与者处搜集信息,并将之转换为一种被实体对象和控制对象利用的形式。

(37)A.边界对象B.可视化对象C.抽象对象D.实体对象

●在UML语言中,下图中的a、b、c三种图形符号依照顺序别离表示(38)。

(38)A.边界对象、实体对象、控制对象B.实体对象、边界对象、控制对象

C.控制对象、实体对象、边界对象D.边界对象、控制对象、实体对象

正确答案:

C解析:

本题考查的是采用UML进行面向对象设计进程中,各类不同对象的图形表示,依照上述的图形顺序,别离表示控制对象、实体对象、边界对象。

●在下面的用例图(UseCaseDiagram)中,X1、X2和X3表示(39),已知UC3是抽象用例,那么X1可通过(40)用例与系统进行交互。

而且,用例(41)是UC4的可选部份,用例(42)是UC4的必需部份。

(39)A.人B.系统C.参与者D.外部软件

(40)A.UC4、UC1B.UC5、UC1C.UC5、UC2D.UC1、UC2

(41)A.UC1B.UC2C.UC3D.UC5

(42)A.UC1B.UC2C.UC3D.UC5

●(43)设计模式概念了对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都取得通知并自动刷新。

(43)A.Adapter(适配器)B.Iterator(迭代器)

C.Prototype(原型)D.Observer(观察者)

●UML中有多种类型的图,其中,(44)对系统的利用方式进行分类,(45)显示了类及其彼此关系,(46)显示人或对象的活动,其方式类似于流程图,通信图显示在某种情况下对象之间发送的消息,(47)与通信图类似,但强调的是顺序而不是连接。

(44)A.用例图B.顺序图C.类图D.活动图

(45)A.用例图B.顺序图C.类图D.活动图

(46)A.用例图B.顺序图C.类图D.活动图

(47)A.用例图B.顺序图C.类图D.活动图

●(12)是指把数据和操作数据的相关方式组合在同一个单元中,使咱们可以把类作为软件中的大体复用单元,提高其内聚度,降低其耦合度。

面向对象中的(13)机制是对现实世界中遗传现象的模拟,通过该机制,基类的属性和方式被遗传给派生类。

(12)A.封装B.多态C.继承D.变异

(13)A.封装B.多态C.继承D.变异

●(14)以静态或动态的连接方式,为应用程序提供一组可利用的类。

(15)除提供可被应用程序挪用的类之外,还大体实现了一个可执行的架构。

(14)A.函数库B.类库C.框架D.类属

(15)A.函数库B.类库C.框架D.类属

正确答案:

B本题考查的是框架和类库的概念与区别。

类库为应用程序提供了一组可以被利用的类,而框架除提供类之外,还大体实现了一个可以执行的架构。

函数库提供被挪用的函数。

●(16)是一种面向数据流的开发方式,其大体思想是软件功能的分解和抽象。

(16)A.结构化开发方式B.Jackson系统开发方式

C.Booch方式D.UML(统一建模语言)

本题考查软件开发方式大体概念。

结构化开发方式是传统的、也是应用较为广发的一种软件开发方式,它基于数据流进行需求分析和软件设计,用抽象模型的概念,依照软件内部数据传递和转换关系,对问题和功能自顶向下逐层分解。

Jackson系统开发方式是一种典型的面向数据结构的分析和设计方式,以活动为中心,连续串活动的顺序组合成一个完整的工作进程。

Booch方式是一种面向对象的软件开发方式。

UML仅仅是一种建模标准语言,规定了组成软件的各个元素和构件的图示规范。

●采用UML进行软件设计时,可用(17)关系表示两类事物之间存在的特殊/一般关系,用聚集关系表示事物之间存在的整体/部份关系。

(17)A.依赖B.聚集C.泛化D.实现

本题考查对UML中关系概念的理解。

依照面向对象技术的描述,若两类事物之间存在特殊/一般关系,则用继承机制表示该关系,即UML中的泛化关系。

●在面向对象系统中,用(15)关系表示一个较大的“整体”类包括一个或多个较小的“部份”类。

(15)A.泛化B.聚合C.概化D.合成

●面向对象分析与设计中的(37)是指一个模块在扩展性方面应该是开放的,而在更改性方面应该是封锁的;而

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学反思汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1