UML系统建模基础教程课后答案第一章面向对象设计与UML1.填空题(1)UML(2)封装继承多态(3)继承(4)瀑布模型喷泉模型基于组件的开发模型XP开发模型2.选择题(1)C(2)ABCD(3)ABCD(4)ABC(5)A3.简答题1.试述对象和类的关系。
(1)类是具有相同或相似结构、操作和约束规则的对象组成的集合,而对彖是某一类的具体化实例,每一个类都是具有某些共同特征的对象的抽象。
类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类対象的抽象就是类.类描述了一组有相同特性和相同行为的对象。
第二章UML通用知识点综述1.填空题(1)依赖泛化关联实现(2)视图图模型元素(3)实现视图部署视图(4)构造型标记值约束(5)规格说明修饰通用划分2.选择题(1)D(2)C(3)A(4)AB(5)D3.简答题(1)在UML中面向对象的事物有哪几种?在UML中,定义了四种基本的面向对象的事物,分别是结构事物、行为事物、分组事物和注释事物等。
(2)请说出构件的种类。
构件种类有:源代码构件、二进制构件和可执行构件。
(3)请说出试图有哪些种类。
在UML中主要包括的视图为静态视图、用例视图、交互视图、实现视图、状态机视图、活动视图、部署视图和模型管理视图。
(4)请说出视图和图的关系。
视图和图是包含和被包含的关系。
在每一种视图中都包含一种或多种图。
(5)请简述UML的通用机制。
UML提供了一些通用的公共机制,使用这些通用的公共机制(通用机制)能够使UML在各种图中添加适当的描述信息,从而完善UML的语义表达。
逋常,使用模型元素的基本功能不能够完善的表达所要描述的实际信息,这些通用机制可以有效地帮助表达,帮助我们进行有效的UML建模。
UML提供的这些通用机制,贯穿于整个建模过程的方方面面。
前面我们提到,UML的通用机制包括规格说明、修饰和通用划分三个方面。
第三章Rational统一过程1.填空题(1)角色活动产物工作流(2)逻辑视图过程视图物理视图开发视图用例视图(3)设计开发验证(4)二维(5)周期迭代过程里程碑2.选择题(1)ABCD(2)ACD(3)ACD(4)ABC(5)ABCD3.简答题(1)请描述迭代过程有几个阶段。
面向对象练习题及答案一、用例图1.请就以下需求建立用例图:一个新的音像商店准备采用计算机系统向比较广泛的人群销售或租借录像带和光碟。
该音像商店将存有大约1000盘录像带和500张光碟,这些订购涉及多家订购商。
所有的录像带和光碟都有一个条码,可以使用条码扫描仪来支持销售和返还,客户会员卡也同时条码化。
客户可以预定录像带并在指定日期来取。
系统必须拥有灵活的搜索机制来回答客户的询问,包括关于该音像商店还没有进货的电影(但可能是已经请求订购了)。
评分标准:画图格式标准3分,用例全面正确4分,角色与用例之间的关系正确3分2.试用用例图描述小型图书资料管理系统。
某学院打算开发一个小型图书资料管理系统MiniLibrary,该系统基于Internet实现教师和学生对各种图书资料的借阅、查询和管理。
图书管理员负责管理各种图书资料,查询图书资料信息,并进行图书的借阅管理。
注册用户可以通过Internet随时查询图书资料信息和个人借阅情况,预订目前借不到的图书资料,并可以快捷地查找和浏览所需要的电子资料。
系统可以提供适当的浏览器供用户阅读电子文献资料。
3.试用用例图描述系统简介:航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。
各个旅行社把预定机票的旅客信息输入到系统中,系统为旅客安排航班。
当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单到航空公司交款取票,系统核对无误即打印出机票给旅客。
此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。
技术要求和限制条件(1)在分析系统功能时要考虑有关证件的合法性验证(如身份证、取票通知和交款发票)等。
java面向对象编程练习题及答案一、选择题1.在Java中,以下哪个关键字用于定义类?A.structB.classC.interfaceD.enum2.Java中的继承是:A.多重继承B.单一继承C.无继承D.可选继承3.以下哪个是Java中的访问修饰符?A.publicB.privateC.protectedD.所有选项都是4.以下哪个不是Java对象的三个基本特征?A.封装B.继承C.多态D.线程5.以下哪个方法用于获取对象的内存地址?A.hashCode()B.equals()C.getClass()D.toString()二、简答题1.解释Java中的封装是什么,并给出一个封装的例子。
2.描述Java中的继承是如何工作的,并给出一个继承的例子。
3.解释Java中的多态性,并给出一个多态性的例子。
三、编程题1.创建一个名为`Car`的类,它具有以下属性:-品牌(String)-型号(String)-年份(int)并为这些属性提供getter和setter方法。
2.创建一个名为`ElectricCar`的类,它继承自`Car`类,并添加以下属性:-电池电量(int)实现`ElectricCar`类,并重写`toString()`方法,以显示电动汽车的详细信息。
3.创建一个名为`VehicleTest`的类,它包含`main`方法。
在`main`方法中,创建`Car`和`ElectricCar`的实例,并打印它们的状态。
四、代码分析题1.阅读以下Java代码片段,并解释它的作用:```javapublicclassPerson{privateStringname;privateintage;publicPerson(Stringname,intage){=name;this.age=age;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){=name;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}}```2.阅读以下Java代码片段,并指出可能的错误:```javapublicclassAnimal{publicvoidspeak(){System.out.println("Theanimalmakesasound");}}publicclassDogextendsAnimal{@Overridepublicvoidspeak(){System.out.println("Thedogbarks");}}publicclassCatextendsAnimal{@Overridepublicvoidspeak(){System.out.println("Thecatmeows");}}publicclassTestAnimals{publicstaticvoidmain(String[]args){AnimalmyDog=newDog();AnimalmyCat=newCat();myDog.speak();myCat.speak();}}```五、论述题1.论述Java面向对象编程中接口与抽象类的区别,并给出使用场景。
uml面向对象的分析与设计考题与答案集团文件版本号:(M928-T898-M248-WU2669-I2896-《面向对象的分析与设计》练习题一、选择题1.UML语言不支持的建模方式有(D)。
A.静态建模B.动态建模C.模块化建模D.功能建模2.一个设计得好的OO系统具有(B)。
A.低内聚、低耦合的特征B.高内聚、低耦合的特征C.高内聚、高耦合的特征D.低内聚、高耦合的特征3.下列不属于面向对象技术的基本特征的是(B)。
A.封装性B.模块性C.多态性D.继承性4.面向对象程序设计将描述事物的数据与(C)封装在一起,作为一个相互依存、不可分割的整体来处理。
A.信息B.数据隐藏C.对数据的操作D.数据抽象5.关于面向对象方法的优点,下列不正确的叙述是(C)。
A.与人类习惯的思维方法比较一致B.可重用性好C.以数据操作为中心D.可维护性好6.用例之间的关系不包括以下哪种关系?DA.泛化B.包含C.扩展D.聚集和组合7.顺序图中不包括以下哪种元素?(A)A.用例B.对象C.生命线D.消息8.用例图中不包括以下哪种元素?(B)A.用例B.类C.参与者D.关联9.继承机制的作用是(C)。
A.信息隐藏B.数据封装C.派生新类D.数据抽象10.面向对象方法学中,对象之间仅能通过(C)相联系。
A.类B.抽象C.消息D.封装11.脚本与用例之间的关系类似与(A)之间的关系。
A.对象与类B.参与者与用例C.顺序图和抽象类D.消息和对象12.下列元素中,(D)不属于消息的组成。
A.对象图B.协作图C.状态图D.顺序图14.(D)是从用户使用系统的角度描述系统功能的图形表达方法。
Java面向对象编程练习题及答案题目一:洗衣机类设计描述:设计一个洗衣机类,具有以下属性和方法:属性:-品牌(brand):字符串类型,表示洗衣机的品牌-容量(capacity):整型,表示洗衣机的容量(以公斤为单位)-是否开机(isOn):布尔类型,表示洗衣机是否处于开机状态方法:-开机(turnOn):将洗衣机的状态设置为开机-关机(turnOff):将洗衣机的状态设置为关机-洗衣服(washClothes):接收一个整型参数clothesWeight,表示待洗衣物的重量(以公斤为单位)。
如果洗衣机处于开机状态,并且洗衣机容量足够洗这些衣物,则打印出洗衣机正在洗衣服;否则,打印出洗衣机无法洗衣物。
面向对象系统分析与设计期末综合练习题一、选择题1.Heave学院请Decoder软件公司开发一个新的OO课程系统,院长Tom宣布该系统一定要成为学院的greatsoftware,下面对于greatsoftware的说法正确的是?()(A)Decoder公司程序员满意软件。
(B)Heave学院师生满意的软件。
(C)价格最贵的软件。
(D)Decoder公司程序员和Heave学院师生都满意的软件。
2.Heave学院准备开发一个新的Java版的OO课程注册系统,该系统可以供学生查询期末成绩、教师统计班级成绩正态分布、教务统计GUITARIO各项能力在各门课程中的落实情况,而且随着历史数据的积累,今后还可能引入数据挖掘技术,为院长提供各届学生的整体进步情况,请问Decoder公司的系统架构师应该采用哪种设计模式来设计成绩统计模块()(A)状态模式(B)观察者模式(C)工厂模式(D)装饰者模式3.Heave学院原有的课程目录系统是用SmallTalk语言开发的,并向外部发不了一套访问接口。
学院为了节约成本,不准备重新开发该目录系统,为此Decoder需要设计一套与之兼容的Java接口对其进行封装。
这样可以更方便地将旧课程目录系统集成到新的系统中,同时为将来的升级留有余地。
请问系统设计师在设计时应该采用哪个设计模式?()(A)模版方法模式(B)适配器模式(C)观察者模式(D)外观模式4.Heave学院新的OO课程注册系统,可以与签约银行联网直接代收学费,但银行的业务逻辑错综复杂,为此Heave学院希望银行能够提供一套新的接口以屏蔽并简化原有业务操作的复杂性。
这套新接口设计上体现了哪个设计模式的思想()(A)适配器模式(B)观察者模式(C)装饰者模式(D)外观模式5.Heave学院的期末成绩统计可以饼状图、柱状图、曲线、表格等多种形式进行显示。
但不论何种形式显示,其统计算法census()需要通过prepareData()、generateChart()、saveChart()、showData()四个步骤,其中第1步与第2步对于不同的显示方式是不同的,那么系统设计师在设计该系统时,会使用哪个设计模式()(A)模版方法模式(B)观察者模式(C)适配器模式(D)外观模式6.Heave学院的历史数据挖掘器的设计很有挑战性,其难点在于院方要求各种形式的挖掘组件可以任意组合,任意拼装,每个挖掘组件完成独立的挖掘任务,互不干扰,组装后的挖掘器套件运行后,会形成一份报表,用以呈现挖掘结果。
面向对象程序设计模拟练习题(含答案)一、单选题(共50题,每题1分,共50分)1、下列关于JDK和JRE的说法中,错误的是()A、JDK是java开发核心组件,是用来编译解释java程序的核心组件B、JDK包括Java编译器、Java文档生成工具、Java打包工具等C、JRE是个单独的软件,所以安装JDK后,还需要单独安装JRED、JRE是java运行环境,用来支持java程序的运行正确答案:C2、下列File类的构造方法格式,错误的是()A、File(Fileparent)B、File(Stringpathname)C、File(Stringparent,Stringchild)D、File(URIurl)正确答案:A答案解析:A选项,正确的应该是File(Fileparent,Stringchild)3、下列关于静态变量的描述中,错误的是()A、静态变量指的是被static修饰的变量B、静态变量是随着类的加载而加载C、静态变量可以被所有的实例对象共享D、静态变量同成员变量一样,都需要通过实例对象来调用正确答案:D答案解析:静态变量是通过“类名.变量名”“方式调用的。
4、下列对于Runtime的描述中,正确的是()A、每一个Java应用程序运行时都产生一个Runtime类实例B、Runtime实例可以将应用程序和运行环境相结合C、Runtime类有构造函数D、Runtime实例需要被创建后才可以通过getRuntime()方法获取正确答案:A答案解析:Runtime类用于表示虚拟机运行时的状态,它用于封装JVM虚拟机进程。
每次使用java命令启动虚拟机都对应一个Runtime实例,并且只有一个实例,因此该类采用单例模式进行设计,可以通过getRuntime()方法获得一个Runtime实例。
5、下列关于LinkedList类的方法,不是从List接口中继承而来的是()A、toArray()B、pop()C、remove()D、isEmpty()正确答案:B答案解析:pop()方法表示移除并返回此列表的第一个元素,是LinkedList特有的方法。
UML面向对象分析与设计教程课后习题答案选择题第一章(1)对象程序的基本特征是(ABCD)A.抽象B.封装C.继承D。
多态(2)类包含的要素有(ABC)A.名字B。
属性C.操作D。
编号(3)下列关于类与对象的关系说法不正确的是(A)A.有些对象是不能被抽象成类的B。
类给出了属于该类的全部对象的抽象定义C.类是对象集合的再抽象D.类是用来在内存中开辟一个数据区,存储新对象的属性(4)面向对象方法中的(C)机制给予子类可以自动的拥有(复制)父类全部属性和操作.A。
抽象B。
封装C。
继承D。
多态(5)建立对象的动态模型一般包含的步骤有(ABCD)A。
准备脚本B。
确定事件C.准备事件跟踪表D.构造状态图第二章⑴UML中的关系元素包括(ABCD).A.依赖B。
关联C.泛化D。
实现⑵在UML中,定义了面向对象的事物,这些事物分为(ABCD).。
A。
结构事物B。
行为事物C。
分组事物D.注释事物⑶UML中的图包括(ABC)。
A.用例图B。
类图C。
状态图D。
流程图⑷UML的视图不包括(BCD).A.用例视图B。
类视图C。
状态视图D。
物理视图⑸下面不属于UML中的静态视图的是(ABC).A.状态图B.用例图C.对象图D.类图第三章(1)下列说法正确的是(ACD)A.在用例视图下可以创建类图B.在逻辑视图下可以创建构件图C.在逻辑视图下可以创建包D.在构件视图下可以创建构件(2)在RationalRose的逻辑视图下可以创建(ABCD)A.类图B.构件图C.包D.活动图(3)RationalRose建模工具可以执行的任务有(ABCD)A.非一致性检查B.生成C++语言代码C.报告功能D.审查功能(4)RationalRose中支持的视图不包括(D)A.逻辑视图B.构件视图C.部署视图D。
面向对象分析与设计(第二版)习题答案第一章:面向对象基础知识1.1什么是面向对象分析和设计?面向对象分析和设计(Object-OrientedAnalysisandDesign,OOAD)是软件工程中一种常用的方法论,通过将问题领域进行建模,通过对象、类、继承、封装等概念来描述现实世界中的实体、关系和行为。
面向对象分析和设计的目标是开发出可复用、可维护、可扩展、高质量的软件系统。
1.2面向对象分析和设计的优势有哪些?面向对象分析和设计有以下优势:-高度模块化:通过将系统划分为多个独立的对象,便于理解和设计系统的各个部分。
-可复用性:面向对象设计强调对象的复用,通过定义通用的类和接口,可以提高代码的复用程度。
-可维护性:面向对象的封装特性使得系统的各个部分具有独立性,便于维护和修改。
-可扩展性:通过继承和多态等特性,可以方便地扩展和修改系统的功能。
-高可靠性:面向对象的封装和隐藏特性可以减少系统中的错误和安全漏洞。
-开发效率高:面向对象的分析和设计提供了一种更自然的思考和描述问题的方法,可以提高开发效率。
第二章:面向对象建模2.1对象的特征有哪些?对象具有以下特征:-状态(State):对象的状态是对象的属性值的集合,表示对象的某个时刻的状态。
-行为(Behavior):对象可以执行的操作,描述了对象能够做什么。
-身份(Identity):每个对象都有唯一的身份,可以通过身份来区分不同的对象。
2.2类和对象之间的关系有哪些?类和对象之间有以下关系:-实例化(Instantiation):类是对象的模板,对象是类的一个具体实例。
-继承(Inheritance):一个类可以继承另一个类的属性和方法。
-聚合(Aggregation):一个类可以包含其他类的对象作为成员变量。
-关联(Association):两个类之间存在某种关系,一个类的对象可以访问另一个类的对象。
简答题第一章1.面向对象设计基本特性有哪些?这些特性对软件设计有何协助?封装性继承性多态性在由封装,继承,多态所构成环境中,程序员可以编写出比面向过程模型更健壮,更具扩展性程序.通过仔细设计类层次构造是重用代码基本.封装能让程序员不必修改公有接口代码即可实现程序移植.多态能使程序员开发出简洁,易懂,易修改代码.2.类与对象区别是什么?类是抽象,不详细。
就像有些东西可以归为一类,例如说狗,猫,猪。
它们都是动物,咱们就可以归为一类。
而猫,狗就是动物类中一种对象。
3.什么是软件生命周期?生命周期涉及几种阶段?软件生命周期,亦称软件生存周期。
分为:普通分为定义,开发,维护三大阶段,定义阶段有可行性论证和开发筹划,需求分析,开发阶段有概要设计,详细设计和编码,维护阶段有测试,运营维护4.面向对象与uml关系?umL是统一建模图,用于便于描述类之间关系等,是用来协助你更好进行面向对象设计。
5.面向对象设计与老式软件相比,有何长处?更有针对性更容易让客户满意减少修改提高效率第二章1.uml模型元素有哪些?UML中模型元素太多了,例如用例图中元素有用例,角色,扩展关系,包括关系,类图中元素有类,接口,关联等等,每一种框图均有各自独有元素2.简述uml通用机制构成以及它作用?一、修饰。
在使用UML语言建模时,可以将图形修饰附加到UML图中模型元素上。
例如,当一种元素代表某种类型时候,它名称可以用粗体字形类显示;当同一元素表达该类型实例时,该元素名称用一条下划线修饰。
二、注释。
UML语言中用一条虚线将注释连接到它为之解释或细化元素上。
面向对象分析与及设计习题及答案一、单项选择题1.到20世纪末,面向对象软件工程已经逐渐发展成熟,特别是(D)的形成和广泛使用,采用面向对象分析与编程的软件开发方法已成为软件开发的主流方法。
A.Simula67语言B.Smalltalk语言C.Java语言D.统一建模语言(UML)的标准2.面向对象的运动产生了多种面向对象的语言,其中(C)是一种混合性面向对象语言,既支持面向过程的程序设计方法,又支持面向对象的程序设计方法,有广泛应用的基础和丰富开发环境的支持,因而使面向对象的程序设计能得到很快普及。
A.SmalltalkB.EiffelC.C++D.Java3.下列不属于面向对象技术的基本特征的是(B)。
A.与人类习惯的思维方法比较一致B.可重用性好C.以数据操作为中心D.可维护性好6.(D)是从用户使用系统的角度描述系统功能的图形表达方法。
A.类图B.对象图C.序列图D.用例图7.(C)是表达系统类及其相互联系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。
A.对象图B.协作图C.状态图D.序列图9.(D)就是用于表示构成分布式系统的节点集和节点之间的联系的图示,它可以表示系统中软件和硬件的物理架构。
A.组件图B.协作图C.状态图D.配置图10.使用UML进行关系数据库的(B)时,需要设计出表达持久数据的实体类及其联系,并把它们映射成为关系数据库表(Table)、视图(View)等。
A.业务UseCase模型设计B.逻辑数据模型设计C.物理数据模型设计C.物理实现设计11.一个设计得好的OO系统具有(B)A.低内聚、低耦合的特征B.高内聚、低耦合的特征C.高内聚、高耦合的特征D.低内聚、高耦合的特征12.下面()不是UML的基本构成元素。
(A)A.控制语言B.基本构造块C.规则D.公共机制13.面向对象的特点主要概括为(C)。
A.可分解性、可组合性、可分类性B.继承性、封装性、多态性C.抽象性、继承性、封装性、多态性D.封装性、易维护性、可扩展性、可重用性14.构成对象的两个主要因素是(A)。
A.属性和服务B.标识和内容C.继承和多态D.消息和封装15.下列关于面向对象方法中描述中错误的是(C)。
A.使用设计模式有助于在软件开发中应用面向对象技术B.选择面向对象程序设计语言时需要考虑开发人员对其的熟悉程度C.UML作为一种可视化建模语言需要与RUP开发过程同时使用D.目前在软件生命周期的分析、设计、实现和测试中均可以应用面向对象方法16.顺序图主要可以为设计人员提供(A)信息。
A.消息发送的顺序B.某个方法的执行流程C.类之间关联关系的多重性D.某个对象在不同状态之间的转移17.类和接口的关系类似于下面哪种类型的关系(D)。
A.关联(association)和聚集(aggregation)B.关联(association)和组合(composition)C.脚本(scenario)和用例(usecase)D.包(Package)和子系统(subsystem)18.在类图中,那个类图中的类Order所生成的代码具有PublicclassOrder{PublicCustomerrecipient;}的形式?(A)A.B.C.D.19.下面那个图符表示UML中的实现关系?(C)A.B.C.D.20.一个银行业务系统采用如图琐事的配置图,则错误的是(D)A.与GUI有关的类应该部署在BranchClient上B.这个图表示一个三层的体系结构,不管BranchClient、FinancialAppServer、DatabaseServer是运行在同一台机器上还是在不同机器上C.为了系统的可伸缩性(scalability),与业务逻辑有关的对象应该部署在FinancialAppServer上D.为了系统的可伸缩性,与业务逻辑有关的对象应该部署在BranchClient上21.关于用例与类的对比中(D)是错误的。
A都属于模型结构元素B都存在继承关系C类描述系统的部分静态视图,用例描述系统动态的行为视图D类描述的是系统的内部构成,用例也可以描述系统的内部构成22.Innovation公司正在为Rose开发插入件,使得Rose可以把OOA、OOD模型以各种图形格式导出,如JPEG格式、BMP格式、GIF格式等。
在导出时,会根据不同的算法来生成相应的图形文件,这些算法很复杂。
为了描述这些算法,在下面这些图中,那个是最适合的?(A)(注:活动图可以用来描述细节)A.活动图B.状态图C.类图D.用例图23.计算机(Computer)由中央处理器、内存、软盘、硬盘、显示器、键盘、鼠标等组成。
那么Computer类和其他类(CPU、RAM、FloppyDrive、HardDisk、Monitor、Keyboard、Mouse)之间的关系是:(D)A.泛化关系(Generalization)B.实现关系(Realization)C.包含关系(Inclusion)D.聚集关系(Aggregation)24.在状态图中不能表示下面那些概念?(D)A.动作(action)B.事件(event)C.转移(transition)D.类(class)25.在数据库设计的C阶段开始考虑具体的数据库管理系统(DBMS)的特性。
(C)A.需求分析B.概念设计C.逻辑设计.D物理设计26.在UML中,有3种基本构造块,分别是(A)A.事物、关系和图B.注释、关系和图C.事物、关系和结构D.注释、关系和结构27.在UML中,有四种关系,下面哪个不是(B)A.依赖关系B.继承关系C.泛化关系D.实现关系28.下面哪个不是UML中的静态视图(B)A.状态图B.用例图C.对象图D.类图29.在用例之间,会有三种不同的关系,下列哪个不是它们之间可能的关系(D)A.包含(include)B.扩展(extend)C.泛化(generalization)D.关联(connect)30.用例(Use-case)用来描述系统在事件做出响应时所采取的行动。
在一个“订单输入子系统”中,创建新订单和更新订单都需要检查用户帐号是否正确。
那么,用例“创建新订单”、“更新订单”与用例“检查用户帐号”之间是(B)关系A.扩展(extend)B.包含(include)C.分类(classification)D.聚集(aggregation)31.UML中类的有三种,下面哪个不是其中之一(B)A.实体类B.抽象类C.控制类D.边界类32.阅读图例,判断下列哪个说法是错误的。
(c)A.读者可以使用系统的还书用例B.每次执行还书用例都要执行图书查询用例C.每次执行还书用例都要执行交纳罚金用例D.执行还书用例有可能既执行图书查询用例,又执行交纳罚金用例33.关于协作图的描述,下列哪个不正确(B)A.协作图作为一种交互图,强调的是参加交互的对象的组织;B.协作图是顺序图的一种特例C.协作图中有消息流的顺序号;D.在ROSE工具中,协作图可在顺序图的基础上按“F5”键自动生成;34.设计模式具有的优点(a)。
A.适应需求变化B.程序易于理解C.减少开发过程中的代码开发工作量D.简化软件系统的设计35.设计模式一般用来解决什么样的问题(a)。
A.同一问题的不同表相B不同问题的同一表相C.不同问题的不同表相D.以上都不是36.设计模式的两大主题是(d)。
A.系统的维护与开发B对象组合与类的继承C.系统架构与系统开发D.系统复用与系统扩展37.以下哪些问题通过应用设计模式不能够解决。
(c)A)指定对象的接口B)针对接口编程C)确定软件的功能都正确实现D)设计应支持变化38.外观模式的作用是(b)。
A.当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能。
B.为了系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用。
C.保证一个类仅有一个实例,并提供一个访问他的全局访问点。
D.在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。
A.希望简化现有系统的使用方法。
你需要定义自己的借口。
B.将一个无法控制的现有对象与一个特定借口相匹配。
C.将一组实现部分从另一组使用它们的对象中分离出来。
D.你需要为特定的客户(或情况)提供特定系列的对象。
40.Adapter(适配器)模式的意图是(B)。
你需要定义自己的接口。
B.将一个无法控制的现有对象与一个特定接口相匹配。
41.下面不属于创建型模式的有(C)。
A.抽象工厂模式(AbstractFactory)B.工厂方法模式(FactoryMethod)C.适配器模式(Adapter)D.单例模式(Singleton)42.将一个类的接口转换成客户希望的另一个接口。
这句话是对下列哪种模式的描述(C)。
A.策略模式(Strategies)B.桥接模式(Bridge)C.适配器模式(Adapter)D.单例模式(Singleton)43.以下关于结构型模式说法不正确的是。
(B)A)结构型模式可以在不破坏类封装性的基础上,实现新的功能。
B)结构型模式主要用于创建一组对象。
C)结构型模式可以创建一组类的统一访问接口。
D)结构型模式可以在不破坏类封装性的基础上,使得类可以同不曾估计到的系统进行交互。
44.关于继承表述错误的是:(D)。
A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法。
B.泛化类(超类)可以显式地捕获那些公共的属性和方法。
特殊类(子类)则通过附加属性和方法来进行实现的扩展。
C.在一定意义上说破坏了封装性,因为这会将父类的实现细节暴露给子类。