面向对象技术答案.docx
- 文档编号:10869330
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:25
- 大小:426.97KB
面向对象技术答案.docx
《面向对象技术答案.docx》由会员分享,可在线阅读,更多相关《面向对象技术答案.docx(25页珍藏版)》请在冰豆网上搜索。
面向对象技术答案
●下面关于面向对象方法中消息的表达,不正确的选项是____
(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个个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〞的关系。
供选择的答案:
〔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〕关系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 技术 答案