福建师范大学2020年8月课程考试《面向对象的程序设计》作业考核试题(答案)

上传人:不吃****猫 文档编号:139831582 上传时间:2020-07-24 格式:DOC 页数:24 大小:170.50KB
返回 下载 相关 举报
福建师范大学2020年8月课程考试《面向对象的程序设计》作业考核试题(答案)_第1页
第1页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《福建师范大学2020年8月课程考试《面向对象的程序设计》作业考核试题(答案)》由会员分享,可在线阅读,更多相关《福建师范大学2020年8月课程考试《面向对象的程序设计》作业考核试题(答案)(24页珍藏版)》请在金锄头文库上搜索。

1、 谋学网 面向对象的程序设计期末考试A卷 姓名: 专业:学号: 学习中心:$一、单选题 (共25题,每题2分,共50分)1、Observer模式不适用于( C)。A.当一个抽象模型存在两个方面,其中一个方面依赖于另一方面,将这二者封装在独立的对象中以使它们可以各自独立的改变和复用B.当对一个对象的改变需要同时改变其他对象,而不知道具体有多少个对象有待改变时C.当一个对象必须通知其它对象,而它又不能假定其它对象是谁,也就是说你不希望这些对象是紧耦合的D.一个对象结构包含很多类对象,它们有不同的接口,而想对这些对象实施一些依赖于其具体类的操作2、顺序图由类角色,生命线,激活期和(A )组成。A.关

2、系B.消息C.用例D.实体3、UML中类的有三种,下面哪个不是其中之一( B )A.实体类B.抽象类C.控制类D.边界类4、如果用例A与用例B相似,但A的功能较B多,A的动作序列是通过在B的动作序列中的某些执行点上插入附加的动作序列而构成的,则称( B )。A.用例A实现用例BB.用例A继承用例BC.用例A扩展用例BD.用例A包括用例B5、( A )技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门,他们负责完成组内的活动。A.泳道B.分叉汇合C.分支D.转移6、关于继承表述错误的是:( D )。A.继承是一种通过扩展一个已有对象的实现,从而获得新功能的复用方法B.泛化类

3、(超类)可以显式地捕获那些公共的属性和方法。特殊类(子类)则通过附加属性和方法来进行实现的扩展C.在一定意义上说破坏了封装性,因为这会将父类的实现细节暴露给子类D.继承本质上是“白盒复用”,对父类的修改,不会影响到子类7、当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用( A )模式。A.创建型B.结构型C.行为型D.以上都可以8、类和接口的关系类似于下面哪种类型的关系( D )。A.关联(association)和聚集(aggregation)B.关联(association)和组合(composition)C.脚本(scenario)和用例(use case)D.包(Packa

4、ge)和子系统(subsystem)9、如果用例B是用例A的某项子功能,并且建模者确切地知道在A所对应的动作序列中何时将调用B,则称( A )。A.用例A扩展用例BB.用例A继承用例BC.用例A包括用例BD.用例A实现用例B10、组成UML有三种基本的建筑块是:( A ),事物和图。A.关系B.类C.用例D.实体11、设计模式一般用来解决什么样的问题( A )。A.同一问题的不同表相B.不同问题的同一表相C.不同问题的不同表相D.以上都不是12、若将活动状态比作方法,那么动作状态即( C )。A.方法名B.方法返回值C.方法体中的每一条语句D.方法的可见性13、( C )是表达系统类及其相互联

5、系的图示,它是面向对象设计的核心,建立状态图、协作图和其他图的基础。A.对象图B.组件图C.类图D.状态图14、( C)使用类图的一个子集,用于强化某个时间点类实例之间的关系。A.交互图B.协作图C.对象图D.状态图15、40、在UML中( D )表示参与者为达成一项相对独立、完整的业务目标而要求软件系统完成的功能。A.用例图B.边C.执行者D.用例16、通常对象有很多属性,下面仅能在对象内部访问的属性可见性限制是( D )。A.公有的(public)B.受保护的(protected)C.友员(friendly)D.私有的(private)17、生命线是UML视图中哪个图形的组成部分( D)。

6、A.类图B.状态图C.活动图D.顺序图18、下面()不是UML的基本构成元素。( A )A.控制语言B.基本构造块C.规则D.公共机制19、在用例之间,会有三种不同的关系,下列哪个不是它们之间可能的关系( D )A.包含(include)B.扩展(extend)C.泛化(generalization)D.关联(connect)20、面向对象程序设计将描述事物的数据与 ( C ) 封装在一起,作为一个相互依存、不可分割的整体来处理。A.信息B.数据隐藏C.对数据的操D.数据抽象21、下面哪个视图属于UML语言的交互图( D )。A.行为图B.状态图C.实现图D.顺序图22、(A)模型的缺点是缺乏

7、灵活性,特别是无法解决软件需求不明确或不准确的问题。A.瀑布模型B.原型模型C.增量模型D.螺旋模型23、在UML中,有3种基本构造块,分别是( A )A.事物、关系和图B.注释、关系和图C.事物、关系和结构D.注释、关系和结构24、以下属于创建型模式的是( A )。A.抽象工厂模式(Abstract Factory)B.装饰模式(Decorator)C.外观模式(Facade)D.桥接模式(Bridge)25、Faade(外观)模式的意图是( A )。A.希望简化现有系统的使用方法。你需要定义自己的借口B.将一个无法控制的现有对象与一个特定借口相匹配C.将一组实现部分从另一组使用它们的对象中

8、分离出来D.你需要为特定的客户(或情况)提供特定系列的对象2、 判断题 (共10题,每题2分,共20分)26、抽象工厂模式提供了一系列相关或相互依赖对象的接口且必须指定他们具体的类。 ( 错 )27、Observer模式定义对象间的一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。 ( 对 )28、一个状态图最多只能由一个初态和一个终态。 ( 错 )29、类A和类B之间的关系如图1所示,则称类B中的getName()方法是对类A中的getName()方法的重载(overload)。图 getName()方法之间的关系 ( 错 )30、Adapter模式不

9、是必须针对某个接口进行设计。 ( 错 )31、对象适配器模式是合成聚合复用原则的典型应用。 ( 对 )32、Decorator(装饰)模式的意图是为一个对象连接附加的职责。 ( 对 )33、在设计模式中,“效果”只是指“原因和结果”。 ( 对 )34、Faade外观模式只能为方法调用创建更简单的接口,不能减少客户必须处理的对象数量。 ( 错 )35、UML由用例视图、物理视图、组件视图、进度视图和配置视图组成。 ( 错 )三、简答题 (共4题,每题5分,共20分)36、信用卡可能处于“开放”和“关闭”状态,其中“开放”状态可以直接进入“关闭”状态,而从“关闭”状态必须提供密码验证才能进入“开放

10、”状态。“开放”状态又包括“透支”和“正常”状态之间的变化,当剩余金额少于零、或者使用额度大于剩余金额、或者结算余额小于零时进入透支状态,反之则为正常状态。画出信用卡的状态图。答:37、UML2.0前有几种常用图(diagram)?哪些属于静态图,哪些属于动态图?答:静态图:类图,对象图,用例图,部署图,构件图, 动态图:状态图,顺序图,活动图,协作图38、UML中的交互图有两种,分别是顺序图和协作图,请分析一下两者之间的主要差别和各自的优缺点。掌握利用两种图进行的设计的方法。答:协作图可视化地表示了对象之间随时间发生的交互,它除了展示对象之间的关联,还显示出对象之间的消息传递。与顺序图一样,

11、协作图也展示对象之间的交互关系。顺序图强调的是交互的时间顺序,而协作图强调的是交互的语境和参与交互的对象的整体组织。顺序图按照时间顺序布图,而协作图按照空间组织布图。顺序图可以清晰地表示消息之间的顺序和时间关系,但需要较多的水平方向的空间。协作图在增加对象时比较容易,而且分支也比较少,但如果消息比较多时难以表示消息之间的顺序。 39、说明Observer模式的基本实现方式。如果不用该模式,要达到同样的效果,你会如何做?答:观察者模式在关于目标角色、观察者角色通信的具体实现中,有两个版本。一种情况便是目标角色在发生变化后,仅仅告诉观察者角色“我变化了”;观察者角色如果想要知道具体的变化细节,则就

12、要自己从目标角色的接口中得到。这种模式被很形象的称为:拉模式,变化的信息是观察者角色主动从目标角色中“拉”出来的。还有一种方法,那就是我目标角色“服务一条龙”,通知你发生变化的同时,通过一个参数将变化的细节传递到观察者角色中去,这就是“推模式”这两种模式的使用,取决于系统设计时的需要。如果目标角色比较复杂,并且观察者角色进行更新时必须得到一些具体变化的信息,则“推模式”比较合适。如果目标角色比较简单,则“拉模式”就很合适。如果不使用该模式,可采用策略模式,将不同的情况作为子类封裝在一个类中,模拟observer模式中目标角色的不同状态,当外部状态发生变化时,可以选择不同的 strategy1、strategy2改变观察者角色,从而达到与观察者模式同样的效果。四、设计题 (共1题,每题10分,共10分)40、根据下面的叙述,绘制一幅关于顾客从自动售货机中购买物品的顺序图。答:顾客(User)先向自动售货机的前端(Front)投币;售货机的识别器(Register)识别钱币;售货机前端(Front)根据Register的识别结果产生商品列表;顾客选择商品;识别器控制的出货器(Dispenser)将所选商品送至前端(Front)。 面向对象的程序设计 试卷 共3页(第 23 页) 答案务必写在对应的作答区域内,否则不得分,超出黑色边框区域的答案无效!

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

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号