软件设计师面向对象技术.pdf

上传人:索**** 文档编号:85759699 上传时间:2023-04-12 格式:PDF 页数:23 大小:36.73KB
返回 下载 相关 举报
软件设计师面向对象技术.pdf_第1页
第1页 / 共23页
软件设计师面向对象技术.pdf_第2页
第2页 / 共23页
点击查看更多>>
资源描述

《软件设计师面向对象技术.pdf》由会员分享,可在线阅读,更多相关《软件设计师面向对象技术.pdf(23页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、1 模拟 软件设计师面向对象技术选择题第 1 题:在面向对象系统中,用 _系表示一个较大的“整体”类包含一个或多个较小的“部分”类。A.泛化B.聚合C.概化D.合成参考答案:B 本题考查面向对象系统的基本概念。泛化是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象。它描述整体和部分的关系。聚合是整体和多个较小部分之间的关系。没有“概化”和“合成”的概念。因此答案为 B。第 2 题:_是指在运行时把过程调用和响应调用所需要执行的代码加以结合。A.绑定B.静态绑定C.动态绑定D.继承参考答案:C 绑定是指将对象置于运行的状态,允许调用它所支持的操作。根据其执行时间,它分为

2、两种:静态绑定和动态绑定。静态绑定是指在编译时进行绑定;动态绑定是在运行时进行绑定的。(3)是指把数据以及操作数据的相关方法组合在同一个单元中,使我们可以把类作为软件中的基本复用单元,提高其内聚度,降低其耦合度。面向对象中的(4)机制是对现实世界中遗传现象的模拟,通过该机制,基类的属性和方法被遗传给派生类。第 3 题:A.封装B.多态C.继承D.变异参考答案:A 2 第 4 题:A.封装B.多态C.继承D.变异参考答案:C 本题考查面向对象方法学的基本概念,是常考点。封装是一种信息隐蔽技术,其目的是把定义与实现分离,保护数据不被对象的使用者直接存取。封装就是将抽象得到的数据和行为相结合,形成一

3、个有机的整体,即将数据和操作数据的源代码进行有机结合,形成“类”。多态性是指同一操作作用于不同对象可以有不同的解释,产生不同的执行结果。继承性是指在某个类的关联中不同类共享属性和操作的一种机制。一个父类可以有多个子类。如果一个予类只有唯一的父类,称为单一继承,如果一个子类拥有多个父类,称为多重继承。据此可知答案为 A、C。(5)以静态或动态的连接方式,为应用程序提供一组可使用的类。(6)除了提供可被应用程序调用的类以外,还基本实现了一个可执行的架构。第 5 题:A.函数库B.类库C.框架D.类属参考答案:B 第 6 题:A.函数库B.类库C.框架D.类属参考答案:C 本题考查面向对象方法学中的

4、类和框架的概念。函数库是程序员经常购买那些包装成库的代码,在C语言中,代码库就是函数库;出现C+之后,函数库转变为类库。广义的类库是以库文件的形式存在,库文件中包含了事先定义好的类。二者的区别就是函数库只包含一系列的函数,而类库是用面向对象的原理设计的。框架则是一种软件重用技术,它是一个应用软件系统的部分或整体3 的可重用设计,具体表现为一组抽象类及其实例(对象)之间的相互作用方式。它是对于一个软件系统的全部或部分的可重用设计。明确了二者的概念之后,不难得出答案为 B、C。第 7 题:在选择某种面向对象语言进行软件开发时,不需要着重考虑的因素是,该语言_。A.将来是否能够占据市场主导地位B.类

5、库是否丰富C.开发环境是否成熟D.是否支持全局变量和全局函数的定义参考答案:D 任何一种面向对象的语言都会对变量和函数提供相应的处理机制,因此不需要考虑“是否支持全局变量和全局函数的定义”这一项。面向对象分析与设计中的(8)是指一个模块在扩展性方面应该是开放的,而在更改性方面应该是封闭的;而(9)是指予类应当可以替换父类并出现在父类能够出现的任何地方。第 8 题:A.开闭原则B.替换原则C.依赖原则D.单一职责原则参考答案:A 第 9 题:A.开闭原则B.替换原则C.依赖原则D.单一职责原则参考答案:B 本题考查面向对象设计的5 大原则。单一职责原则:对于一个类来说,应该仅有一个引起它变化的原

6、因,即一个类应该只有一个职责。如果有多个职责,相当于这些职责耦合在一起。因此在构造一个类时,将类的不同职责分离在两个或多个类中,确保引起该类变化的原因只有一个。开放封闭原则:软件组成实体应该是可扩展的,但是不能修改的。开放封闭法则认为我们应该在视图区设计出永远也不需要改变的模块。我们可以通过添加代码来扩展系统的功能,但4 不能对已有的代码进行修改。替换原则:子类应当可以替换父类并出现在父类能够出现的任何地方。依赖原则:在进行业务设计时,与特定业务有关的依赖关系应该尽量依赖接口和抽象类,而不是依赖具体类。具体类只负责相关业务的实现,修改具体类不影响与特定业务有关的依赖关系。接口分离原则:采用多个

7、与特定客户类有关的接口比采用一个通用的涵盖多个业务方法的接口要好。根据以上分析,答案为A、B。在 UML 的各种视图中,(10)显示外部参与者观察到的系统功能;(11)从系统的静态结构和动态行为角度显示系统内部如何实现系统的功能;(12)显示的是源代码以及实际执行代码的组织结构。第 10 题:A.用例视图B.进程视图C.实现视图D.逻辑视图参考答案:A 第 11 题:A.用例视图B.进程视图C.实现视图D.逻辑视图参考答案:D 第 12 题:A.用例视图B.进程视图C.实现视图D.逻辑视图参考答案:C 本题考查的是 UML中 5 个系统视图的相关知识。逻辑视图是用来显示系统内部功能是怎样设计的

8、,它利用系统的静态结构和动态行为来刻画系统的功能。静态结构描述类、对象和它们之间的关系等;动态行为主要描述对象之间的动态协作。进程视图,又称并发视图,用来显示系统的并发工作状况。并发视图将系统划分为进程和处理机方式,通过划分引入并发机制,利用并发高效地使用资源、并行执行和处理异步事件。它是逻辑视图的一次执行实例。实现5 视图,又称组件视图,主要用来显示代码组件的组织方式,主要描述了实现模块和它们之间的相互关系。部署视图是用来显示系统的物理结构,也就是系统的物理展开。例如:计算机和设备以及它们之间的连接方式,而其中计算接和设备都称之为节点。用例视图是最基本的需求分析模型,以外部参与者的角度来看待

9、系统,它主要说明了准要使用系统,以及它们使用该系统的目的。第 13 题:采用 UML进行软件设计时,可用 _关系表示两类事物之间存在的特殊/一般关系,用聚集关系表示事物之间存在的整体/部分关系。A.依赖B.聚集C.泛化D.实现参考答案:C 本题考查面向对象系统的基本概念。泛化关系是一种一般/特殊关系,利用这种关系,子类可以共享父类的结构和行为。在 UML 类图中,类与类之间存在依赖(Dependency)、关联(Association)、聚合(Aggregation)、组合(Composition)和继承(Inheritance)五种关系,其中,(14)关系表明类之间的相互联系最弱,(15)关

10、系表明类之间的相互联系最强,聚合(Aggregation)的标准 UML 图形表示是(16)。第 14 题:A.依赖B.聚合C.组合D.继承参考答案:A 第 15 题:A.依赖B.聚合C.组合D.继承参考答案:D 第 16 题:6 A.B.C.D.参考答案:B 本题考查面向对象方法学中的UML,即统一建模语言。依赖关系是指有两个元素 A、B,如果元素 A的变化会引起元素 B的变化,则称元素 B依赖(Dependency)于元素 A。聚合关系(Aggregation)是关联关系的特例。聚合关系是表示一种整体和部分的关系。如一个电话机包含一个话筒,一个电脑包含显示器,键盘和主机等就是聚合关系的例子

11、。继承关系是指是父类和子类之间共享数据和方法的一种机制。在定义和实现一个类的时候,可以在一个已经存在的类的基础上进行,把这个类所定义的内容作为自己的内容,并添加新的内容即可实现。关于图形表示,教材上比较明确。(17)限制了创建类的实例数量,而(18)将一个类的接口转换成客户希望的另外一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。第 17 题:A.命令模式(Command)B.适配器模式(Adapter)C.策略模式(Strategy)D.单例模式(Singleton)参考答案:D 第 18 题:A.命令模式(Command)B.适配器模式(Adapter)7 C.策略模式

12、(Strategy)D.单例模式(Singleton)参考答案:B 本题主要考查常见设计模式的特点。命令模式把一个请求或者操作封装到一个对象中,从而达到用不同的请求对客户进行参数化的目标;适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作;单例模式的意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点;策略模式可以将一个个算法封装起来,并且可以相互替换。已知某子系统为外界提供功能服务,但该子系统中存在很多粒度十分小的类,不便被外界系统直接使用,采用(19)设计模式可以定义一个高层接口,这个接口使得这一子系统更加容易使用;当

13、不能采用生成子类的方法进行扩充时,可采用(20)设计模式动态地给一个对象添加一些额外的职责。第 19 题:A.Facade(外观)B.Singleton(单件)C.Participant(参与者)D.Decorator(装饰)参考答案:A 第 20 题:A.Facade(外观)B.Singleton(单件)C.Participant(参与者)D.Decorator(装饰)参考答案:D 本题考查的是设计模式。外观(Facade):为子系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用;装饰(Decorate):当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额

14、外的功能;单件(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点;模板方法(Template Method):在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。(21)设计模式将抽象部分与它的实现部分相分离,使它们都可以独立地变化。图 10.22 为该设计模式的类图,其中,(22)用于定义实现部分的接口。8 第 21 题:A.Singleton(单件)B.Bridge(桥接)C.Composite(组合)D.Facade(外观)参考答案:B 第 22 题:A.Abstraction B.ConcreteImplementorA C.ConcreteIm

15、plementorB D.Implementor 参考答案:D 本题考查面向对象方法学的设计模式。设计模式是一套被反复使用、多数人知晓、经过分类编目、代码设计经验的总结。使用设计模式的目的就是为了可重用代码,让代码更容易理解,保证代码的可靠性。单件(Singleton):保证一个类仅有一个实例,并提供一个访问它的全局访问点。外观(Facade):为子系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用。组合(Composite)模式:将对象组合成树型结构以表示“部分-整体”的层次结构,Composite 使得客户对单个对象和符合对象的使用具有一致性。桥接(Bridge)模

16、式:将抽象部分与它的实现部分分离,使他们都可以独立的变化。第 21 空考查的是桥接设计模式,因此答案为B。从题目中的类图可以看出,类Abstraction和类 Implementation之间存在聚集关系(整体和部分的关系),而 ConcreteImplementorA 和 ConcreteImplementorB 都是整体类 Abstraction类的部分类,所以中间的 Implementor 用于定义实现部分的接口,因此 22 空答案为 D。开一闭原则(Open-Closed Principle,OCP)是面向对象的可复用设计的基石。开一闭原则是指一个软件实体应当对(23)开放,对(24)

17、关闭;里氏代换原则(Liskov Substitution Principle,LSP)是指任何(25)可以出现的地方,(26)一定可以出现。依赖倒转原则(Dependence Inversion Principle,DIP)就是要依赖于(27)而不依赖于(28),或者说要针对接口编程,不要针对实现编程。第 23 题:A.修改9 B.扩展C.分析D.设计参考答案:B 第 24 题:A.修改B.扩展C.分析D.设计参考答案:A 第 25 题:A.变量B.常量C.基类对象D.子类对象参考答案:C 第 26 题:A.变量B.常量C.基类对象D.子类对象参考答案:D 第 27 题:A.程序设计语言B.

18、建模语言C.实现D.抽象10 参考答案:D 第 28 题:A.程序设计语言B.建模语言C.实现D.抽象参考答案:C 开一闭原则(Open-Closed Principle)可以说是面向对象设计的核心所在。开一闭原则的两个重要特点是“对扩展开放,对修改关闭”,即允许对程序作出扩展(以扩展的方式响应需求的变化),但拒绝对程序作出修改(即修改之前运行良好的程序)。实现“开一闭原则”的重要机制就是“抽象”与“多态”。通过对“变化”进行抽象隔离,使程序具有更好的扩展性与可维护性。里氏代换原则(Liskov Substitution Principle,LSP)在实现继承时,子类(subtype)必须能替

19、换掉它们的基类(base type)。如果一个软件实体使用的是基类的话,那么也一定适用于子类;但反过来的代换不成立。依赖倒转原则(Dependence Inversion Principle,DIP)是指在进行业务设计时,与特定业务有关的依赖关系应该尽量依赖接口和抽象类,而不是依赖具体类。具体类只负责相关业务的实现,修改具体类不影响与特定业务有关的依赖关系。(29)是一种很强的“拥有”关系,“部分”和“整体”的生命周期通常一样。整体对象完全支配其组成部分,包括它们的创建和销毁等;(30)同样表示“拥有”关系,但有时候“部分”对象可以在不同的“整体”对象之间共享,并且“部分”对象的生命周期也可以

20、与“整体”对象不同,甚至“部分”对象可以脱离“整体”对象而单独存在。上述两种关系都是(31)关系的特殊种类。第 29 题:A.聚合B.组合C.继承D.关联参考答案:B 第 30 题:A.聚合B.组合C.继承D.关联11 参考答案:A 第 31 题:A.聚合B.组合C.继承D.关联参考答案:D 本题考查 UML 中关联关系。关联关系连接元素和链接实例,它用连接两个模型元素的实线表示,在关联的两端可以标注关联双方的角色和多重性标记。聚合关系是一种特殊类型的关联关系。它描述元素之间部分和整体的关系,即一个表示整体的模型元素可能由几个表示部分的模型元素聚合而成。组合也是关联关系的一种特例,这种关系比聚

21、合更强,也称为强聚合;它同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束。下面的 UML类图描绘的是(32)设计模式。关于该设计模式的叙述中,错误的是(33)。第 32 题:A.桥接B.策略C.抽象工厂D.观察者参考答案:D 第 33 题:A.该设计模式中的 Observer 需要维护至少一个Subject 对象B.该设计模式中的 ConcreteObserver 可以绕过 Subject 及其子类的封装C.该设计模式中一个Subject 对象需要维护多个Observer 对象D.该设计模式中 Subject 需要通知 Observer 对

22、象其自身的状态变化参考答案:B 12 桥接模式将抽象部分和它的实现部分分离,使它们可以独立地变化。策略模式定义一系列的算法,将每个算法封装到具有共同接口的独立的类中,从而使得算法可以相互替换,而不影响客户端。抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。观察者模式定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生变化时,所有依赖于它的对象都得到通知并自动刷新。ConcreteObserver类继承于Observer 类,而 Observer 与 Subject 之间相互依赖,因此 ConcreteObserver 不可以绕过 Subject 及其子类的

23、封装。第 34 题:以下关于面向对象方法中继承的叙述中,错误的是_。A.继承是父类和予类之间共享数据和方法的机制B.继承定义了一种类与类之间的关系C.继承关系中的子类将拥有父类的全部属性和方法D.继承仅仅允许单重继承,即不允许一个子类有多个父类参考答案:D 面向对象技术中,继承是父类和子类之间共享数据和方法的机制。这是类之间的一种关系,在定义和实现一个类的时候,可以在一个已经存在的类的基础上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容。可以存在多重继承的概念,但不同的程序设计语言可以有自己的规定。不 同 的 对 象 收 到同 一消 息可 以 产 生 完全 不同 的结

24、 果,这一 现象 叫做(35)。绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中,绑定在编译时进行,叫做(36);而(37)则在运行时进行,即一个给定的过程调用和执行代码的结合直到调用发生时才进行。第 35 题:A.继承B.多态C.动态绑定D.静态绑定参考答案:B 第 36 题:A.继承B.多态C.动态绑定D.静态绑定13 参考答案:D 第 37 题:A.继承B.多态C.动态绑定D.静态绑定参考答案:C 在收到消息时,对象要予以响应。不同的对象收到同一消息可以产生完全不同的结果,这一现象叫做多态(polymorphism)。在使用多态的时候,用户可以发送一个

25、通用的消息,而实现的细节则由接收对象自行决定。这样,同一消息就可以调用不同的方法。绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中,绑定是在编译时进行的,nH做静态绑定。动态绑定则是在运行时进行的,因此,一个给定的过程调用和代码的结合直到调用发生时才进行。动态绑定是和类的继承以及多态相联系的。在继承关系中,子类是父类一个特例,所以父类对象可以出现的地方,子类对象也可以出现。因此在运行过程中,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法进行连接,即动态绑定。第 38 题:_不是面向对象分析阶段需要完成的。A.认定对象B.组织对

26、象C.实现对象及其相互关系D.描述对象间的相互作用参考答案:C 面向对象分析包含5 个活动:认定对象、组织对象、描述对象间的相互作用、定义对象的操作、定义对象的内部信息。实现对象及其相互关系应该归入到系统的实现阶段,不属于分析阶段的任务。第 39 题:以下关于面向对象设计的叙述中,错误的是_。A.面向对象设计应在面向对象分析之前,因为只有产生了设计结果才可对其进行分析B.面向对象设计与面向对象分析是面向对象软件过程中两个重要的阶段C.面向对象设计应该依赖于面向对象分析的结果D.面向对象设计产生的结果在形式上可以与面向对象分析产生的结果类似,例如都可以使用 UML 表达14 参考答案:A 面向对

27、象分析与设计是面向对象软件开发过程中的两个重要阶段,面向对象分析产生分析模型,该分析模型可以使用UML 表达,面向对象设计以分析模型为基础,继续对分析模型进行精化,得到设计模型,其表达仍然可以采用UML建模语言。如下 UML 类图表示的是(40)设计模式。以下关于该设计模式的叙述中,错误是(41)。第 40 题:A.工厂方法B.策略C.抽象工厂D.观察者参考答案:C 第 41 题:A.提供创建一系列相关或相互依赖的对象的接口,而无需指定这些对象所属的具体类B.可应用于一个系统要由多个产品系列中的一个来配置的时候C.可应用于强调一系列相关产品对象的设计以便进行联合使用的时候D.可应用于希望使用已

28、经存在的类,但其接口不符合需求的时候参考答案:D 题中的类图是抽象工厂设计模式,该设计模式的意图是提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。使用抽象工厂设计模式的常见情形是:一个系统要独立于其产品的创建、组合和表示时;一个系统要由多个产品系列中的一个来配置时:当需要强调一系列相关的产品对象的设计以便进行联合使用时;当提供一个产品类库,而只想显示它们的接口而不是实现时。对于希望使用已经存在的类,但其接口不符合需求的情形,应当考虑桥接设计模式。UML类图中类与类之间的关系有五种:依赖、关联、聚合、组合与继承。若类 A需要使用标准数学函数类库中提供的功能,那么类 A与标准类

29、库提供的类之间存在(42)关系;若类 A 中包含了其他类的实例,且当类A 的实例消失时,其包含的其他类的实例也消失,则类A 和它所包含的类之间存在(43)关系;若类 A的实例消失时,其他类的实例仍然存在并继续工作,那么类 A和它15 所包含的类之间存在(44)关系。第 42 题:A.依赖B.关联C.聚合D.组合参考答案:A 第 43 题:A.依赖B.关联C.聚合D.组合参考答案:D 第 44 题:A.依赖B.关联C.聚合D.组合参考答案:C UML 类图中类与类之间的关系有五种:依赖、关联、聚合、组合与继承。依赖是几种关系中最弱的一种关系,通常,使用类库就是其中的一种关系。聚合与组合都表示了整

30、体和部分的关系。组合的程度比聚合高,当整体对象消失时,部分对象也随之消失,则属于组合关系;当整体对象消失而部分对象依然可以存在并继续被使用时,则属于聚合关系。第 45 题:以下关于类和对象的叙述中,错误的是_。A.类是具有相同属性和服务的一组对象的集合B.类是一个对象模板,用它仅可以产生一个对象C.在客观世界中实际存在的是类的实例,即对象D.类为属于该类的全部对象提供了统一的抽象描述参考答案:B 16 类是具有相同属性和行为的一组对象的集合。在现实世界中,每个实体都是对象,每个对象都有它的属性和操作。一个类定义了一组大体上相似的对象,一个类所包含的方法和数据描述了一组对象的共同行为和属性。类是

31、在对象之上的抽象,对象是类的具体化,是类的实例。一个类可以产生多个对象。因此可知选项 B的说法是错误的。(46)是把对象的属性和服务结合成一个独立的系统单元,并尽可能隐藏对象的内部细节;(47)是指子类可以自动拥有父类的全部属性和服务;(48)是对象发出的服务请求,一般包含提供服务的对象标识、服务标识、输入信息和应答信息等。第 46 题:A.继承B.多态C.消息D.封装参考答案:D 第 47 题:A.继承B.多态C.消息D.封装参考答案:A 第 48 题:A.继承B.多态C.消息D.封装参考答案:C 在基本的面向对象的系统中,对象是基本的运行时的实体,它既包括数据(属性),也包括作用于数据的操

32、作(行为)。所以,一个对象把属性和行为封装为一个整体,封装是一种信息隐蔽技术,它的目的是使对象的使用者和生产者分离,使对象的定义和实现分开。继承是父类和子类之间共享数据和行为的机制。在定义和实现一个类的时候,可以在一个已经存在的类的基础上,把这个已经存在的类所定义的内容作为自己的内容,并加入新的内容。继承可以使子类拥有父类的全17 部属性和服务。对象之间进行通信的一种机制叫做消息。当一个消息发送给某个对象时,包含要求接收对象去执行某些活动的信息,接收到信息的对象经过解释,予以响应,这种通信机制叫做消息传递。消息内容一般包含提供服务的对象标识、服务标识、输入信息和应答信息等。第 49 题:以下关

33、于面向对象设计的叙述中,错误的是_。A.高层模块不应该依赖于底层模块B.抽象不应该依赖于细节C.细节可以依赖于抽象D.高层模块无法不依赖于底层模块参考答案:D 在面向对象的设计中,存在依赖倒置原则:高层模块不应该依赖低层模块。两个都应该依赖抽象。抽象不应该依赖细节,细节应该依赖抽象。采用(50)设计模式可保证一个类仅有一个实例;采用(51)设计模式可将对象组合成树型结构以表示“部分一整体”的层次结构,使用户对单个对象和组合对象的使用具有一致性;采用(52)设计模式可动态地给一个对象添加一些额外的职责。第 50 题:A.命令(Command)B.单例(Singleton)C.装饰(Decorat

34、e)D.组合(Composite)参考答案:B 第 51 题:A.命令(Command)B.单例(Singleton)C.装饰(Decorate)D.组合(Composite)参考答案:D 第 52 题:A.命令(Command)B.单例(Singleton)18 C.装饰(Decorate)D.组合(Composite)参考答案:C 本题考查面向对象方法学的设计模式。命令模式(Command)把一个请求或者操作封装到一个对象中,从而达到用不同的请求对客户进行参数化的目标;单例模式(Singleton)的意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点;装饰(Decorate)是在不

35、能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能;组合(Composite)模式将对象组合成树型结构以表示“部分一整体”的层次结构,Composite 使得客户对单个对象和符合对象的使用具有一致性。下列 UML 类图表示的是(53)设计模式。该设计模式中(54)。第 53 题:A.备忘录(Memento)B.策略(Strategy)C.状态(State)D.观察者(Observer)参考答案:D 第 54 题:A.一个 Subj ect对象可对应多个Observer 对象B.Subject只能有一个 ConcreteSubject子类C.Observer 只能有一个 Conc

36、reteObserver 予类D.一个 Subject 对象必须至少对应一个Observer 对象参考答案:A 本题考查行为设计模式。(1)备忘录模式(Memento Pattern)应用于保存和跟踪对象的状态,以便于必要的时候可以把对象恢复到以前的状态。备忘录模式(Memento Pattern)可以在不暴露对象的内部结构的情况下完成这样的功能。(2)策略模式是对算法的包装,把使用算法的责任和算法本身分隔开,委派给不同的对象管理。策略模式通常把一系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。简单地说,就是把会变化的内容取出并封装起来,以便以后可以轻易地改动或扩充部分,而不影响

37、不需要变化的其他部分。(3)状态模式可以有效地替换充满在程序中的if.else语句,将不同条件下的行为封19 装在一个类里面,再给这些类一个统一的父类来约束他们。(4)观察者模式假定保存数据的对象和显示数据的对象是分开的,负责显示数据的对象观察保存数据对象中的改变。当我们要实现Observer 模式时,通常将数据对象作为目标(Subject),各个 显 示 数 据 的 对 象作 为观 察 者(Observer)。每一 个观 察 者(Observer)通过调用目标(Subject)中的一个公有(public)方法,在他所感兴趣的数据中注册自己。这样,当数据改变时,每一个目标(Subject)通过

38、观察者(Observer)的接口发送更新通知。综上所述,本题UML 类图表示的显然是观察者设计模式。观察者模式定义的是一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。所以第47 题选项 A正确。第 55 题:下面关于面向对象分析与面向对象设计的说法中,不正确的是_。A.面向对象分析侧重于理解问题B.面向对象设计侧重于理解解决方案C.面向对象分析描述软件要做什么D.面向对象设计一般不关注技术和实现层面的细节参考答案:D 面向对象开发过程的核心是面向对象分析(OOA)和面向对象设计(OOD)两个阶段,但二者

39、的界限比较模糊。OOA 是分析使用实例,提取用户需求,建立问题域逻辑模型的过程;OOD 是建立面向对象的求解域模型的过程。从OOA 到 OOD 实际是一个多次反复、逐步迭代模型的过程。面向对象分析是采用面向对象思路进行需求分析建模的过程。面向对象的分析模型主要有用例模型、类/对象模型、对象一关系模型和对象一行为模型等。面向对象设计直接继承面向对象分析阶段的类图和交互图等分析结果,然后确定每个类内部的数据和方法,以及每个方法的处理算法、过程和接口等。因此D选项是错误的。在面向对象分析与设计中,(56)是应用领域中的核心类,一般用于保存系统中的信息以及提供针对这些信息的相关处理行为;(57)是系统

40、内对象和系统外参与者的联系媒介;(58)主要是协调上述两种类对象之间的交互。第 56 题:A.控制类B.边界类C.实体类D.软件类参考答案:C 第 57 题:20 A.控制类B.边界类C.实体类D.软件类参考答案:B 第 58 题:A.控制类B.边界类C.实体类D.软件类参考答案:A 实体类(entity class)是应用领域中的核心类,一般是从现实世界中的实体对象归纳和抽象出来的,用于长期保存系统中的信息,以及提供针对这些信息的相关处理行为。一般情况下,实体类的对象实例和应用系统本身有着相同的生命周期。边界类(boundary class)是系统内的对象和系统外的参与者的联系媒体,外界的消

41、息只能通过边界类的对象实例才能发送给系统。控制类(control class)是实体类和边界类之间的润滑剂,是从控制对象中归纳和抽象出来的,用于协调系统内边界类和实体类之间的交互。若类 A仅在其方法 Methodl 中定义并使用了类B的一个对象,类 A其他部分的代码都不涉及类B,那么类 A与类 B的关系应为(59);若类 A的某个属性是类 B的一个对象,并且类 A对象消失时,类 B对象也随之消失,则类 A与类B的关系应为(60)。第 59 题:A.关联B.依赖C.聚合D.组合参考答案:A 第 60 题:A.关联B.依赖C.聚合D.组合21 参考答案:B 关联体现的是两个类、或者类与接口之间语义

42、级别的一种强依赖关系;这种关系比依赖更强,不存在依赖关系的偶然性,关系也不是临时性的,一般是长期性的,而且双方的关系一般是平等的,关联可以是单向、双向的;表现在代码层而为被关联类 B以类属性的形式出现在关联类A中,也可能是关联类 A 引用了一个类型为被关联类 B的全局变量。当对象 A被加入到对象 B中,成为对象 B的组成部分时,对象 B和对象 A之间为聚合关系。聚合是关联关系的一种,是较强的关联关系,强调的是整体与部分之间的关系。聚合是关联关系的一种特例,它体现的是整体与部分、拥有的关系,即has a 的关系,此时整体与部分之间是可分离的,它们可以具有各自的生命周期,部分可以属于多个整体对象,

43、也可以为多个整体对象共享。对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。就是一个类 A使用到了另一个类B,而这种使用关系是具有偶然性的、临时性的、非常弱的,但是B类的变化会影响到A;表现在代码层面,为类B作为参数被类 A在某个 method方法中使用。组合也是关联关系的一种特例,它体现的是一种 contains-a的关系,这种关系比聚合更强,也称为强聚合;它同样体现整体与部分间的关系,但此时整体与部分是不可分的,整体的生命周期结束也就意味着部分的生命周期结束。当不适合采用生成子类的方法对已有的类进行扩充时,可以采用(6

44、1)设计模式动态地给一个对象添加一些额外的职责;当应用程序由于使用大量的对象,造成很大的存储开销时,可以采用(62)设计模式运用共享技术来有效地支持大量细粒度的对象;当想使用一个已经存在的类,但其接口不符合需求时,可以采用(63)设计模式将该类的接口转换成我们希望的接口。第 61 题:A.命令(Command)B.适配器(Adapter)C.装饰(Decorate)D.享元(Flyweight)参考答案:C 第 62 题:A.命令(Command)B.适配器(Adapter)C.装饰(Decorate)D.享元(Flyweight)参考答案:D 22 第 63 题:A.命令(Command)B

45、.适配器(Adapter)C.装饰(Decorate)D.享元(Flyweight)参考答案:B 本题考查设计模式的相关知识,是一个重要的知识点。命令模式把一个请求或者操作封装到一个对象中,也就是把发出命令的责任和执行命令的责任分割开,分派给不同的对象,使得请求的一方不必知道接收请求的一方的接口,更不必知道请求是怎么被接收、操作是否执行、何时被执行以及是怎么被执行的。适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作。它还可以根据参数返还一个合适的实例给客户端将两个不兼容的类结合在一起使用。享元模式以共享的方式高效地支持大量的细

46、粒度对象。享元模式能做到共享的关键是区分内蕴状态和外蕴状态。内蕴状态存储在享元内部,不会随环境的改变而有所不同。外蕴状态是随环境的改变而改变的。外蕴状态不能影响内蕴状态,它们是相互独立的。将可以共享的状态和不可以共享的状态从常规类中区分开来,将不可以共享的状态从类里剔除出去。享元模式大幅度地降低了内存中对象的数量。装饰模式以对客户端透叫的方式扩展对象的功能,是继承关系的一个替代方案,提供比继承更多的灵活性,动态给一个对象增加功能,这些功能可以再动态地撤销。下图属于 UML 中的(64),其中,AccountManagement需要(65)。第 64 题:A.组件图B.部署图C.类图D.对象图参

47、考答案:B 第 65 题:A.实现 IdentityVerifier接口并被 CreditCardServices调用B.调用 CreditCardServices实现的 IdentityVerifier接口C.实现 IdentityVerifier接口并被 Logger 调用23 D.调用 Logger 实现的 IdentityVerifier接口参考答案:B 类图把现实事物抽象出来,用图来表示。用例图是从用户的观点对系统行为的一个描述。状态图是描述一个实体基于事件反应的动态行为,显示了该实体如何根据当前所处的状态对不同的时间做出反应的。时序图用来显示对象之间的关系,并强调对象之间消息的时间

48、顺序,同时显示了对象之间的交互。时序图中包括如下元素:类角色,生命线,激活期和消息。协作图来来描述系统的工作目标是由哪些组元素相互协作完成的。活动图和流程图很类似,它可以显示出工作步骤(活动),判定点和分支。构件图是软件组成中的一个单元。部署图描述了一个运行时的硬件节点,以及在这些节点上运行的软件组件的静态视图。部署图显示了系统的硬件,安装在硬件上的软件,以及用于连接异构的机器之间的中间件,显示了基于计算机系统的物理系统结构。由 图 可 知,AccountManagement 需 要 调 用CreditCardServices实 现 的IdentityVerifier接口,调用 Logger 实现的 TransactionLogger接口。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁