1、下面关于面向对象方法中消息的叙述,不正确的是_(2)_。(2)A. 键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C. 应用程序之间可以相互发送消息D发送与接收消息的通信机制与传统的子程序调用机制不同正确答案:B【解析】在系统中既使用对象又使用类和继承等机制,而且对象之间仅能通过传递消息实现彼此的通信,这样的方法才称为“面向对象的方法“。面向对象技术中,对象是类的实例。对象有三种成份:_(3)_、属性和方法(或操作)。(3) A. 标识 B. 规则 C. 封装 D. 消息正确答案:A解析:对象有三种成份:标识(对象名)、
2、属性和方法( 或操作 )。 在面向对象技术中,类属是一种_(1)_机制。一个类属类是关于一组类的一个特性抽象,它强调的是这些类的成员特征中与_(2)_的那些部分,而用变元来表示与_(3)_的那些部分。(1)A.包含多态 B.参数多态 C.过载多态 D.强制多态(2)A.具体对象无关 B.具体类型无关 C.具体对象相关 D.具体类型相关(3)A.具体对象无关 B.具体类型无关 C.具体对象相关 D.具体类型相关解析:在面向对象技术中,对象在收到信息后要予以响应。不同的对象收到同一消息可产生完全不同的结果,这一现象称为多态。多态有多种不同的形式,其中参数多态和包含多态称为通用多态,过载多态和强制多
3、态成为特定多态。参数多态应用比较广泛,被称为最纯的多态。这是因为同一对象、函数或过程能以一致的形式用于不同的类型。包含多态最常见的例子就是子类型化,即一个类型是另一类型的子类型。过载多态是同一变量被用来表示不同的功能,通过上下文以决定一个类所代表的功能。即通过语法对不同语义的对象使用相同的名,编译能够消除这一模糊。强制多态是通过语义操作把一个变元的类型加以变换,以符合一个函数的要求,如果不做这一强制性变换将出现类型错误。类型的变换可在编译时完成,通常是隐式地进行,当然也可以在动态运行时来做。类属类(generic class)仅描述了适用于一组类型的通用样板,由于其中所处理对象的数据类型尚未确
4、定,因而程序员不可用类属类直接创建对象实例,即一个类属类并不是一种真正的类类型。类属类必须经过实例化后才能成为可创建对象实例的类类型。类属类的实例化是指用某一数据类型替代类属类的类型参数。类属类定义中给出的类型参数称为形式类属参数,类属类实例化时给出的类型参数称为实际类属参数。如果类属类实例化的实际类属参数可以是任何类型,那么这种类属类称为无约束类属类。然而在某些情况下,类属类可能要求实际类属参数必须具有某些特殊的性质,以使得在类属类中可应用某些特殊操作,这种类属类称为受约束类属类。类的实例化过程是一种实例的合成过程,而不仅仅是根据单个类型进行的空间分配、初始化和绑定。指导编译程序进行这种合成
5、的是_(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 提供的图中, _(
6、31)_用于描述系统与外部系统及用户之间的交互;_(32)_用于按时间顺序描述对象间交互。(31)A用例图 B类图 C对象图 D部署图(32)A网络图 B状态图 C协作图 D序列图在关于类的实例化的描述中,正确的是_(45)_。在关于类的实例化的描述中,正确的是_(45)_。(45)A.同一个类的对象具有不同的静态数据成员值B.不同的类的对象具有相同的静态数据成员值C.同一个类的对象具有不同的对象自身引用(this)值D.不同的类的对象具有相同的对象自身引用(this)值正确答案:C学过面向对象编程语言的人,应该对 this 这个关键字并不陌生,它是对象自身引用值。程序当运行时,this 相当
7、于当前类产生对象的名称。所以对于同一个类的对象具有不同的对象自身引用(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.重
8、载的方法(函数)必须在返回值类型以及参数类型上有所不同C.重载的方法(函数)必须在参数顺序或参数类型上有所不同D.重载的方法(函数)只需在返回值类型上有所不同试题(30)分析 方法的重载必须保证方法的签名不同,所谓方法的签名是指函数或方法的名字和参数的类型和参数的顺序。重载要求在参数的顺序或者参数的类型上有所不同,对返回值没有要求。 参考答案 (30)C 程序设计语言提供了基本类型及其相关的操作,而_(31)_则允许开发者自定义一种新的类型及其相关的操作。供选择的答案:(31)A.对象 B.实例 C.类 D.引用试题(31)分析 类是能够由用户定义的一种新的类型。对象是类的实例。参考答案 (3
9、1)C_(32)_表示了对象间“is-a”的关系。供选择的答案:(32)A.组合 B.引用 C.聚合 D.继承试题(32)分析 继承表达了子类对象是一种父类对象的关系。 参考答案 (32)D若对象 A 可以给对象 B 发送消息,那么_(48)_。供选择的答案:(48)A.对象 B 可以看见对象 A B.对象 A 可看见对象 BC.对象 A、B 相互不可见 D.对象 A、B 相互可见试题(48)分析 对象 A 可以给对象 B 发送消息,那么表明对象 A 可以调用对象 B 的方法,那么对象 A 可以看见对象 B。 参考答案 (48)B类描述了一组对象共同的特性,下列叙述中正确的是_(49)_。供选
10、择的答案:(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)
11、A.面向对象程序设计语言都不支持过程化的程序设计B.面向对象系统只可采用面向对象程序设计语言实现C.某些过程化程序设计语言也可实现面向对象系统D.面向对象程序设计语言不支持对成员变量的直接访问试题(52)分析 某些面向对象的程序设计语言支持过程化的程序设计,过程化的程序设计语言也可实现面向对象系统。 参考答案 (52)C 在面向对象软件开发过程中,采用设计模式(37) 。(37)A允许在非面向对象程序设计语言中使用面向对象的概念B以复用成功的设计和体系结构C以减少设计过程创建的类的个数D以保证程序的运行速度达到最优值 以下关于单身模式(Singleton)的描述中,正确的是(38) 。(38)
12、A它描述了只有一个方法的类的集合B它能够保证一个类只产生一个唯一的实例C它描述了只有一个属性的类的集合D它能够保证一个类的方法只能被个唯一的类调用正确答案:B单身模式(Singleton 是一种创建型模式。创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建、组合和表示它的对象。对于系统中的某些类而言,只有一个实例是很重要的。单身模式的意图就是保证一个类仅有一个实例,并提供一个访问它的全局访问点。 下列关于一个类的静态成员的描述中,不正确的是(39) 。(39)A该类的对象共享其静态成员变量的值B静态成员变量可被该类的所有方法访问C该类的静态方法只能访问该类的静态成员变量D该类的静态数据
13、成员变量的值不可修改 在 MVC(模型视图控制器)模式中,视图部分描述的是(40) 。(40)A将应用问题域中包含的抽象领域知识呈现给用户的方式B应用问题域中所包含的抽象类C用户界面对用户输入的响应方式D应用问题域中包含的抽象领域知识正确答案:A解析:MVC 模式,即模型 视图 控制(Model-View-Controller) 模式,它实际上是一种架构模式,是为那些需要为同样的数据提供多个视图的应用程序而设计的,它很好地体现了数据层与表示层的分离。MCV 把应用程序分为 3 种对象类型。. 模型:应用问题域中包含的抽象领域知识;. 视图:将应用问题域中包含的抽象领域知识呈现给用户的方法:一个
14、模型可以用于多个视图;. 控制器:用户界面对用户输入的响应方式。 对于如下所示的 UML 类图,正确的描述是(41) 。(41)A类 B 的实例中包含了对类 C 的实例的引用B类 A 的实例中包含了对类 B 的实例的引用C类 A 的实例中包含了对类 C 的实例的引用D类 B 的实例中包含了对类 A 的实例的引用正确答案:B解析:UML 类图一般包含 3 个组成部分。第一个是类名,第二个是属性,第三个是该类提供的方法(类的性质可以放在第四部分;如果类中含有内部类,则会出现第五个组成部分)。类名部分是不能省略的,其他组成部分可以省略。类名书写规范:正体字说明类是可被实例化的,斜体字说明类为抽象类。
15、属性和方法书写规范:修饰符描述信息属性、方法名称 参数:返回类型|类型属性和方法之前可附加的可见性修饰符:加号(+)表示 public,减号(-)表示 private,#号表示 protected,省略这些修饰符表示具有 package(包)级别的可见性。如果属性或方法具有下画线,则说明它是静态的。类的性质是由一个属性、一个赋值方法和一个取值方法组成的。书写方式和方法类似。常见的关系有一般化关系、实现关系、聚合关系、合成关系和依赖关系。请注意不同关系在图中连线表示的不同。一般化关系表示类与类、接口与接口之间的继承关系。关系中的箭头由子类指向父类。在 Java 中,用 extends 关键字来直
16、接表示这种关系。 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 中,用聚集来表示“整体与部分”这种关联,在整体一端连接个空心菱形。再根据上题中重复度的解释,显
17、然选择 A。选项 B 是普通关联,不能准确描述题目要求。* 面向对象分析的第一步是(33).(33)A定义服务 B确定附加的系统约束C确定问题域 D定义类和对象 面向对象程序设计语言为(34)提供支持。(34)A面向对象用例设计阶段 B面向对象分析阶段C面向对象需求分析阶段 D面向对象实现阶段 下面关于面向对象的描述正确的(35)。(35)A针对接口编程,而不是针对实现编程B针对实现编程,而不是针对接口编程C接口与实现不可分割D优先使用继承而非组合 下面关于 UML 文档的叙述中正确的是(36)。(36)AUML 文档指导开发人员如何进行面向对象分析BUML 文档描述了面向对象分析与设计的结果
18、CUML 文档给出了软件的开发过程和设计流程DUML 文档指导开发人员如何进行面向对象设计解析:UML 文档仅是设计者与开发人员采用 UML 语言进行系统分析与设计的结果,并没有给出如何进行系统开发和采用哪种开发流程,它也不指导开发人员如何进行面向对象设计。 UML 的设计视图包含了类、接口和协作,其中,设计视图的静态方面由(37)和(38)表现;动态方面由交互图、(39)表现。(37)A类图 B状态图 C活动图 D用例图(38)A状态图 B顺序图 C对象图 D活动图(39)A状态图和类图 B类图和活动图C对象图和状态图 D状态图和活动图 UML 中的构件是遵从一组接口并提供一组接口的实现,下
19、列说法错误的是(40)。(40)A构件应是可替换的 B构件表示的是逻辑模块而不是物理模块C构件应是组成系统的一部分 D构件与类处于不同的抽象层次正确答案:B解析:构件应该是物理模块而不是逻辑模块。 设计模式具有(41)的优点。(41)A适应需求变化 B程序易于理解C减少开发过程中的代码开发工作量 D简化软件系统的设计 下面的(42)模式将对象组合成树形结构以表示“部分一整体”的层次结构,并使得用户对单个对象和组合对象的使用具有一致性。(42)A组合(Composite) B桥接(Bridge)C修饰(Decorator) D外观(Facade) 下图描述了一种设计模式,该设计模式不可以(43)
20、。(43)A动态决定由一组对象中某个对象处理该请求B动态指定处理一个请求的对象集合,并高效率地处理一个请求C使多个对象都有机会处理请求,避免请求的发送者和接收者间的祸合关系D将对象连成一条链,并沿着该链传递请求处理一个请求的物件集合可以被动态的指定,但并不见得高效率. 在面向对象程序设计中,常常将接口的定义与接口的实现相分离,可定义不同的类实现相同的接口。在程序运行过程中,对该接口的调用可根据实际的对象类型调用其相应的实现。为达到上述目的,面向对象语言须提供(44)机制。(44)A继承和过载(overloading) B抽象类C继承和重置(overriding) D对象目身引用超载即为重载,重
21、置是覆盖.(也是动态绑定,多态) 面向对象分析与设计是面向对象软件开发过程中的两个重要阶段,下列活动中,(36)不属于面向对象分析阶段。(36)A. 构建分析模型 B. 识别分析类 C.确定接口规格 D. 评估分析模型 在某大学学生学籍管理信息系统中,假设学生年龄的输入范围为 1640,则根据黑盒测试中的等价类划分技术,下面划分正确的是(37) 。(37)A. 可划分为 2 个有效等价类,2 个无效等价类B. 可划分为 1 个有效等价类,2 个无效等价类C. 可划分为 2 个有效等价类,1 个无效等价类D. 可划分为 1 个有效等价类,1 个无效等价类 面向对象分析需要找出软件需求中客观存在的
22、所有实体对象(概念),然后归纳、抽象出实体类。(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. 增强软件的易安装性 下面给出了四种设计模式的作用:外观(Facad
23、e):为子系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用;装饰(Decorate):当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能;单件(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点;模板方法(Template Method):在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。请根据下面叙述的场景选用适当的设计模式。若某面向对象系统中的某些类有且只有一个实例,那么采用(42)设计模式能够有效达到该目的;该系统中的某子模块需要为其它模块提供访问不同数据库系统(Oracle、SQL Server、DB
24、2 UDB 等)的功能,这些数据库系统提供的访问接口有一定的差异,但访问过程却都是相同的,例如,先连接数据库,再打开数据库,最后对数据进行查询,(43) 设计模式可抽象出相同的数据库访问过程;系统中的文本显示类( TextView )和图片显示类(PictureView )都继承了组件类(Component),分别显示文本和图片内容,现需要构造带有滚动条、或者带有黑色边框、或者既有滚动条又有黑色边框的文本显示控件和图片显示控件,但希望最多只增加三个类,(44)设计模式可以实现该目的。(42)A. 外观 B.装饰 C. 单件 D. 模板方法(43)A. 外观 B.装饰 C. 单件 D. 模板方法
25、(44)A. 外观 B.装饰 C. 单件 D. 模板方法 在采用标准 UML 构建的用例模型(Use-Case Model)中,参与者(Actor)与用例(Use Case)是模型中的主要元素,其中参与者与用例之间可以具有(45)关系。(45)A. 包含(include) B. 递归(Recursive)C. 关联(Association) D. 组合(Composite) 当采用标准 UML 构建系统类模型(Class Model)时,若类 B 除具有类 A 的全部特性外,类 B 还可定义新的特性以及置换类 A 的部分特性,那么类 B 与类 A 具有(46)关系;若类 A 的对象维持类 B
26、对象的引用或指针,并可与类 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. 控制对象、实体对
27、象、边界对象 D. 边界对象、控制对象、实体对象正确答案:C解析:本题考查的是采用 UML 进行面向对象设计过程中,各种不同对象的图形表示,按照上述的图形顺序,分别表示控制对象、实体对象、边界对象。 在下面的用例图(UseCase Diagram)中,X1、X2 和 X3 表示(39) ,已知 UC3 是抽象用例,那么 X1 可通过(40) 用例与系统进行交互。并且,用例(41) 是 UC4 的可选部分,用例(42) 是 UC4 的必须部分。(39)A. 人 B. 系统 C. 参与者 D. 外部软件(40)A. UC4、UC1 B. UC5、UC1 C. UC5、UC2 D. UC1、UC2(
28、41)A. UC1 B. UC2 C. UC3 D. UC5(42)A. UC1 B. UC2 C. UC3 D. UC5 (43)设计模式定义了对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。(43)A. Adapter(适配器) B. Iterator(迭代器)C. Prototype(原型) D. Observer(观察者) UML 中有多种类型的图,其中, (44) 对系统的使用方式进行分类, (45) 显示了类及其相互关系, (46) 显示人或对象的活动,其方式类似于流程图,通信图显示在某种情况下对象之间发送的消息,(47) 与通
29、信图类似,但强调的是顺序而不是连接。(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. 继承
30、 D. 变异 (14)以静态或动态的连接方式,为应用程序提供一组可使用的类。(15)除了提供可被应用程序调用的类以外,还基本实现了一个可执行的架构。(14)A. 函数库 B. 类库 C. 框架 D. 类属(15)A. 函数库 B. 类库 C. 框架 D. 类属正确答案:B本题考查的是框架和类库的概念与区别。类库为应用程序提供了一组可以被使用的类,而框架除了提供类之外,还基本实现了一个可以执行的架构。函数库提供被调用的函数。 (16) 是一种面向数据流的开发方法,其基本思想是软件功能的分解和抽象。(16)A. 结构化开发方法 B. Jackson 系统开发方法C. Booch 方法 D. UML
31、(统一建模语言)本题考查软件开发方法基本概念。结构化开发方法是传统的、也是应用较为广发的一种软件开发方法,它基于数据流进行需求分析和软件设计,用抽象模型的概念,按照软件内部数据传递和转换关系,对问题和功能自顶向下逐层分解。Jackson 系统开发方法是一种典型的面向数据结构的分析和设计方法,以活动为中心,一连串活动的顺序组合成一个完整的工作进程。Booch 方法是一种面向对象的软件开发方法。UML 仅仅是一种建模标准语言,规定了构成软件的各个元素和构件的图示规范。 采用 UML 进行软件设计时,可用(17) 关系表示两类事物之间存在的特殊/一般关系,用聚集关系表示事物之间存在的整体/部分关系。
32、(17)A. 依赖 B. 聚集 C. 泛化 D. 实现本题考查对 UML 中关系概念的理解。按照面向对象技术的描述,若两类事物之间存在特殊/一般关系,则用继承机制表示该关系,即 UML 中的泛化关系。 在面向对象系统中,用(15) 关系表示一个较大的“整体”类包含一个或多个较小的“部分”类。(15)A. 泛化 B. 聚合 C. 概化 D. 合成 面向对象分析与设计中的(37) 是指一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的;而(38) 是指子类应当可以替换父类并出现在父类能够出现的任何地方。(37)A. 开闭原则 B. 替换原则 C. 依赖原则 D. 单一职责原则(38)A.
33、 开闭原则 B. 替换原则 C. 依赖原则 D. 单一职责原则 在选择某种面向对象语言进行软件开发时,不需要着重考虑的因素是,该语言(39)。(39)A. 将来是否能够占据市场主导地位 B. 类库是否丰富C. 开发环境是否成熟 D. 是否支持全局变量和全局函数的定义 (40) 限制了创建类的实例数量,而(41) 将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。(40)A. 命令模式(Command) B. 适配器模式(Adapter)C. 策略模式(Strategy) D. 单例模式(Singleton)(41)A. 命令模式(Comman
34、d) B. 适配器模式(Adapter)C. 策略模式(Strategy) D. 单例模式(Singleton) (42) 是指在运行时把过程调用和响应调用所需要执行的代码加以结合。(42)A. 绑定 B. 静态绑定 C. 动态绑定 D. 继承 (43) 设计模式允许一个对象在其内部状态改变时改变它的行为。下图为这种设计模式的类图,已知类 State 为抽象类,则类(44) 的实例代表了Context 对象的状态。(43)A. 单件(Singleton) B. 桥接(Bridge) C. 组合(Composite) D. 状态(State)(44)A. Context B. concreteS
35、tateA C. Handle D. State 在 UML 的各种视图中, (45) 显示外部参与者观察到的系统功能; (46) 从系统的静态结构和动态行为角度显示系统内部如何实现系统的功能; (47) 显示的是源代码以及实际执行代码的组织结构。(45)A. 用例视图 B. 进程视图 C. 实现视图 D. 逻辑视图(46)A. 用例视图 B. 进程视图 C. 实现视图 D. 逻辑视图(47)A. 用例视图 B. 进程视图 C. 实现视图 D. 逻辑视图 在采用面向对象技术构建软件系统时,很多敏捷方法都建议的一种重要的设计活动是(15) ,它是一种重新组织的技术,可以简化构件的设计而无需改变其
36、功能或行为。(15)A. 精化 B. 设计类 C. 重构 D. 抽象正确答案:C解析:本题考查采用敏捷方法进行软件开发。敏捷方法中,重构是一种重新组织技术,重新审视需求和设计,重新明确地描述它们以符合新的和现有的需求,可以简化构件的设计而无需改变其功能或行为。 下面关于面向对象分析与面向对象设计的说法中,不正确的是(37) 。(37)A. 面向对象分析侧重于理解问题B. 面向对象设计侧重于理解解决方案C. 面向对象分析描述软件要做什么D. 面向对象设计一般不关注技术和实现层面的细节 在面向对象分析与设计中, (38) 是应用领域中的核心类,一般用于保存系统中的信息以及提供针对这些信息的相关处理
37、行为; (39) 是系统内对象和系统外参与者的联系媒介; (40) 主要是协调上述两种类对象之间的交互。(38)A. 控制类 B. 边界类 C. 实体类 D. 软件类(39)A. 控制类 B. 边界类 C. 实体类 D. 软件类(40)A. 控制类 B. 边界类 C. 实体类 D. 软件类 若类 A 仅在其方法 Method1 中定义并使用了类 B 的一个对象,类 A 其它部分的代码都不涉及类 B,那么类 A 与类 B 的关系应为(41) ;若类 A 的某个属性是类 B 的一个对象,并且类 A 对象消失时,类 B 对象也随之消失,则类 A 与类 B 的关系应为(42) 。(41)A.关联 B.
38、 依赖 C. 聚合 D. 组合(42)A.关联 B. 依赖 C. 聚合 D. 组合 当不适合采用生成子类的方法对已有的类进行扩充时,可以采用(43) 设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用(44) 设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用(45) 设计模式将该类的接口转换成我们希望的接口。(43)A. 命令(Command) B.适配器(Adapter) C.装饰(Decorate) D.享元(Flyweight)(44)A. 命令(Command) B.适配器(
39、Adapter) C.装饰(Decorate) D.享元(Flyweight)(45)A. 命令(Command) B.适配器(Adapter)C.装饰(Decorate) D.享元(Flyweight) 下图属于 UML 中的(46) ,其中,AccountManagement 需要(47) 。(46)A. 组件图 B. 部署图 C. 类图 D.对象图(47)A. 实现 IdentityVerifier 接口并被 CreditCardServices 调用B. 调用 CreditCardServices 实现的 IdentityVerifier 接口C. 实现 IdentityVerifie
40、r 接口并被 Logger 调用D. 调用 Logger 实现的 IdentityVerifier 接口 以下关于类和对象的叙述中,错误的是(37) 。(37)A. 类是具有相同属性和服务的一组对象的集合B. 类是一个对象模板,用它仅可以产生一个对象C. 在客观世界中实际存在的是类的实例,即对象D. 类为属于该类的全部对象提供了统一的抽象描述试题(37) 分析 本题考查面向对象中类和对象的基本概念。 面向对象中,类是对象的模板,描述了一组对象共有的成员属性和方法。类是一组对象的抽象描述,通过类可以产生一个或多个对象,这些对象具有相同的属性和方法。 参考答案 (37) B (38) 是把对象的属
41、性和服务结合成一个独立的系统单元,并尽可能隐藏对象的内部细节;(39) 是指子类可以自动拥有父类的全部属性和服务; (40) 是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等。(38)A. 继承 B. 多态 C. 消息 D. 封装(39)A. 继承 B. 多态 C. 消息 D. 封装(40)A. 继承 B. 多态 C. 消息 D. 封装试题(38)(40) 分析 本题考查面向对象的基本概念。 封装的作用是把属性和服务结合成一个独立的系统单元,并隐藏对象的内部细节;而继承则使得子类可以自动拥有父类的全部属性和服务;消息则是对象发出的服务请求;多态是指面向对象中由重
42、载或过载机制实现的结果。 参考答案 (38) D (39) A (40) C 以下关于面向对象分析的叙述中,错误的是(41) 。(41)A. 面向对象分析着重分析问题域和系统责任B. 面向对象分析需要考虑系统的测试问题C. 面向对象分析忽略与系统实现有关的问题D. 面向对象分析建立独立于实现的系统分析模型试题(41) 分析 本题考查面向对象分析的基本概念。 面向对象分析主要回答软件系统需要解决什么问题,在面向对象分析阶段,并不考虑系统实现以及系统的测试问题,强调建立独立与系统实现的系统分析模型,其关注点仍然侧重于问题域。 参考答案 (41) B 以下关于面向对象设计的叙述中,错误的是(42)
43、。(42)A. 高层模块不应该依赖于底层模块有 B. 抽象不应该依赖于细节C. 细节可以依赖于抽象 D. 高层模块无法不依赖于底层模块试题(42) 分析 本题考查面向对象设计的基本原则。 面向对象设计中存在很多原则,其中高层模块不应该依赖于底层模块就是其中一条。传统的结构化设计中,一般的高层模块需要调用或使用底层模块,导致高层模块必须依赖于底层模块,但借助面向对象中的抽象类、接口等一系列机制,可以使得高层模块仅仅和接口耦合,而和实际的底层模块没有直接关联。 参考答案 (42) D 采用(43) 设计模式可保证一个类仅有一个实例;采用(44) 设计模式可将对象组合成树形结构以表示“部分-整体”的
44、层次结构,使用户对单个对象和组合对象的使用具有一致性;采用(45) 设计模式可动态地给一个对象添加一些额外的职责。(43)A. 命令(Command) B.单例(Singleton)C. 装饰(Decorate) D. 组合(Composite)(44)A. 命令(Command) B.单例(Singleton) C. 装饰(Decorate) D. 组合(Composite)(45)A. 命令(Command) B.单例(Singleton) C. 装饰(Decorate) D. 组合(Composite)本题考查面向对象设计中的设计模式。 单例设计模式的目的就是保证一个类仅能够生成一个对象
45、:组合设计模式则用于表示“部分-整体”的层次结构,并且对部分和整体的使用具有一致性;装饰设计模式则动态地给一个对象增加一些额外的职责,无须改变类的设计和实现。 参考答案 (43) B (44) D (45) C 下列 UML 类图表示的是(46) 设计模式。该设计模式中, (47) 。(46)A. 备忘录(Memento) B. 策略(Strategy) C. 状态(State) D. 观察者(Observer)(47)A. 一个 Subject 对象可对应多个 Observer 对象B. Subject 只能有一个 ConcreteSubject 子类C. Observer 只能有一个 ConcreteObserver 子类D. 一个 Subject 对象必须至少对应一个 Observer 对象试题(46)、(47) 分析 本题考查面向对象设计中的设计模式。 题中的图标是观察者设计模式,在该设计模式中,一个 Subject 类可以有多个 ConcreteSubiect 子类,一个 Observer 类也可以有多个ConcreteObserver 子类;一个 Subject 对象可以对应多个 Observer 对象。参考答案 (46) D (47) A