欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】中级软件设计师下午试题-117及答案解析.doc

    • 资源ID:1323097       资源大小:90.50KB        全文页数:11页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】中级软件设计师下午试题-117及答案解析.doc

    1、中级软件设计师下午试题-117 及答案解析(总分:89.05,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)说明某房屋租赁公司欲建立一个房屋租赁服务系统,统一管理房主和租赁者的信息,从而快速地提供租赁服务。该系统具有以下功能:1登记房主信息。对于每名房主,系统需登记其姓名、住址和联系电话,并将这些信息写入房主信息文件。2登记房屋信息。所有在系统中登记的房屋都有一个唯一的识别号(对于新增加的房屋,系统会自动为其分配一个识别号)。除此之外,还需登记该房屋的地址、房型(如平房、带阳台的楼房、独立式住宅等)、最多能够容纳的房客数、租金及房屋状况(待租赁、已出租)。这些信息都保存在房屋

    2、信息文件中。一名房主可以在系统中登记多个待租赁的房屋。3登记租赁者信息。所有想通过该系统租赁房屋的租赁者,必须首先在系统中登记个人信息,包括:姓名、住址、电话号码、出生年月和性别。这些信息都保存在租赁者信息文件中。4租赁房屋。已经登记在系统中的租赁者,可以得到一份系统提供的待租赁房屋列表。一旦租赁者从中找到合适的房屋,就可以提出看房请求。系统会安排租赁者与房主见面。对于每次看房,系统会生成一条看房记录并将其写入看房记录文件中。5收取手续费。房主登记完房屋后,系统会生成一份费用单,房主根据费用单缴纳相应的费用。 :6变更房屋状态。当租赁者与房主达成租房或退房协议后,房主向系统提交变更房屋状态的请

    3、求。系统将根据房主的请求,修改房屋信息文件。数据流图 1-1 和图 1-2 分别给出了该系统的顶层数据流图和 0 层数据流图。(分数:15.00)(1).使用说明中给出的词汇,将数据流图 1-1 中(1)(4)处的数据流补充完整。(分数:5.00)_(2).使用说明中给出的词汇,将数据流图图 1-2 中的(5)(8)补充完整。(分数:5.00)_(3).数据流程图图 1-2 中缺失了三条数据流,请指出这三条数据流的起点、终点和数据流名称。*(分数:5.00)_二、试题二(总题数:1,分数:15.00)说明某汽车维修站拟开发一套小型汽车维修管理系统,对车辆的维修情况进行管理。1对于新客户及车辆,

    4、汽车维修管理系统首先登记客户信息,包括:客户编号、客户名称、客户性质(个人、单位)、折扣率、联系人、联系电话等信息;还要记录客户的车辆信息,包括:车牌号、车型、颜色、车辆类别等信息。一个客户至少有一台车。客户及车辆信息如表 2-1 所示。2记录维修车辆的故障信息。包括:维修类型(普通、加急)、作业分类(大、中、小修)、结算方式(自付、三包、索赔)等信息。维修厂的员工分为:维修员和业务员。车辆维修首先委托给业务员。业务员对车辆进行检查和故障分析后,与客户磋商,确定故障现象,生成维修委托书。如表 2-2 所示。3维修车间根据维修委托书和车辆的故障现象,在已有的维修项目中选择并确定一个或多个具体维修

    5、项目,安排相关的维修工及工时,生成维修派工单。维修派工单如表 2-3 所示。4客户车辆在车间修理完毕后,根据维修项目单价和维修派工单中的工时计算车辆此次维修的总费用,记录在委托书中。根据需求阶段收集的信息,设计的实体联系图(见图 2-1)和关系模式(不完整)如下所示。图 2-1 中业务员和维修工是员工的子实体。概念结构设计(分数:15.00)(1).根据问题描述,填写图 2.1 中(1)(4)处联系的类型。联系类型分为一对一、一对多和多对多三种,分别使用 1:1、1:n 或 1:*、m:n 或*:*表示。(分数:3.75)_(2).1 中的联系并指明其联系类型。联系名可为:联系 1,联系 2,

    6、。(分数:3.75)_(3).根据图 2-1 和说明,将逻辑结构设计阶段生成的关系模式中的空(5)(8)补充完整。(分数:3.75)_(4).根据问题描述,写出客户、委托书和派工单这三个关系的主键。(分数:3.75)_三、试题三(总题数:1,分数:15.00)说明某图书管理系统的主要功能如下。1图书管理系统的资源目录中记录着所有可供读者借阅的资源,每项资源都有一个唯一的索引号。系统需登记每项资源的名称、出版时间和资源状态(可借阅或已借出)。2资源可以分为两类:图书和唱片。对于图书,系统还需登记作者和页数;对于唱片,还需登记演唱者和介质类型(CD 或者磁带)。3读者信息保存在图书管理系统的读者信

    7、息数据库中,记录的信息包括:读者的识别码和读者姓名。系统为每个读者创建了一个借书记录文件,用来保存读者所借资源的相关信息。现采用面向对象方法开发该图书管理系统。识别类是面向对象分析的第一步。比较常用的识别类的方法是寻找问题描述中的名词,再根据相关规则从这些名词中删除不可能成为类的名词,最终得到构成该系统的类。表 3-1 给出了说明中出现的所有名词。通过对表 3-1 中的名词进行分析,最终得到了图 3-1 所示的 UML 表类图(类的说明见表 3-21。(分数:15.00)(1).表 3-2 所给出的类并不完整,根据说明和表 3-1,将图 3-1 中的(a)(c)处补充完整。(分数:5.00)_

    8、(2).根据说明中的描述,给出图 3-1 中的类 CatalogItem 以及(b)、(c)处所对应的类的关键属性(使用表 3-1 中给出的词汇),其中,CatalogItem 有 4 个关键属性;(b)、(c)处对应的类各有 2 个关键属性。(分数:5.00)_(3).识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图 3-1 中的(1)(6)。*(分数:5.00)_四、试题四(总题数:1,分数:15.00)说明一般的树结构常采用孩子-兄弟表示法表示,即用二叉链表作树的存储结构,链表中节点的两个链域分别指向该节点的第一个孩予节点和下一个兄弟节点。例如,图 4-1

    9、(a)所示的树的孩子-兄弟表示如图 4-1fb)所示。函数 LevelTraverse()的功能是对给定树进行层序遍历。例如,对图 4-1 所示的树进行层序遍历时,节点的访问次序为:D B A E F P C。对树进行层序遍历时使用了队列结构,实现队列基本操作的函数原型如下表所示。(分数:14.98)填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_五、试题五(总题数:1,分数:15.00)说明某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如表下表所示。为支

    10、持将来能够模拟更多种类鸭子的特征,采用策略设计模式(strategy)设计的类图如图 5-1 所示。(分数:15.03)填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_六、试题六(总题数:1,分数:14.00)说明某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子种类及其特征如下表所示。为支持将来能够模拟更多种类鸭子的特征,采用策略设计模式(Strategy)设计的类图如图 6-1 所示。其中,Duck 为抽象类,描述了抽象的鸭子,而类 Rub

    11、berDuck、MallardDuck、CottonDuck 和 RedHeadDuck分别描述具体的鸭子种类,方法 fly()、quack()和 display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;接口 FlyBehavior 与 QuackBehavior 分别用于表示抽象的飞行行为与发声行为;类FlyNoWay 与 FlyWithWings 分别描述不能飞行的行为和用翅膀飞行的行为;类 Quack、Squeak 与QuackNoWay 分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为与不发声的行为。请填补以下代码中的空缺。(分数:14.04)填空项 1:_

    12、填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_填空项 1:_中级软件设计师下午试题-117 答案解析(总分:89.05,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)说明某房屋租赁公司欲建立一个房屋租赁服务系统,统一管理房主和租赁者的信息,从而快速地提供租赁服务。该系统具有以下功能:1登记房主信息。对于每名房主,系统需登记其姓名、住址和联系电话,并将这些信息写入房主信息文件。2登记房屋信息。所有在系统中登记的房屋都有一个唯一的识别号(对于新增加的房屋,系统会自动为其分配一个识别号)。除此之外,还需登记该房屋的地址、房型(如平

    13、房、带阳台的楼房、独立式住宅等)、最多能够容纳的房客数、租金及房屋状况(待租赁、已出租)。这些信息都保存在房屋信息文件中。一名房主可以在系统中登记多个待租赁的房屋。3登记租赁者信息。所有想通过该系统租赁房屋的租赁者,必须首先在系统中登记个人信息,包括:姓名、住址、电话号码、出生年月和性别。这些信息都保存在租赁者信息文件中。4租赁房屋。已经登记在系统中的租赁者,可以得到一份系统提供的待租赁房屋列表。一旦租赁者从中找到合适的房屋,就可以提出看房请求。系统会安排租赁者与房主见面。对于每次看房,系统会生成一条看房记录并将其写入看房记录文件中。5收取手续费。房主登记完房屋后,系统会生成一份费用单,房主根

    14、据费用单缴纳相应的费用。 :6变更房屋状态。当租赁者与房主达成租房或退房协议后,房主向系统提交变更房屋状态的请求。系统将根据房主的请求,修改房屋信息文件。数据流图 1-1 和图 1-2 分别给出了该系统的顶层数据流图和 0 层数据流图。(分数:15.00)(1).使用说明中给出的词汇,将数据流图 1-1 中(1)(4)处的数据流补充完整。(分数:5.00)_正确答案:(1) 费用单 (2) 待租赁房屋列表 (3) 看房请求 (4) 变更房屋状态请求)解析:(2).使用说明中给出的词汇,将数据流图图 1-2 中的(5)(8)补充完整。(分数:5.00)_正确答案:(5)房主信息文件 (6) 租赁

    15、者信息文件 (7) 房屋信息文件 (8) 看房记录文件)解析:(3).数据流程图图 1-2 中缺失了三条数据流,请指出这三条数据流的起点、终点和数据流名称。*(分数:5.00)_正确答案:(1)起点:房主 终点:变更房屋状态数据流名称:变更房屋状态请求(2) 起点:租赁者 终点:登记租赁者信息 数据流名称:租赁者信息(3) 起点:租赁者 终点:安排租赁者看房 数据流名称:看房请求)解析:解析 本题考查的是分层数据流图,该题型每年必考,是需要重点掌握的内容。解题的两大原则:数据平衡原则,系统功能描述与数据流图的一致性原则。首先根据数据平衡原则有:在 0 层图中,与“房主”相关的数据流有 5 条。

    16、根据数据平衡原则顶层图应有与之对应的数据流,但“费用单”数据流在顶层图中找不到,所以(1)应是“费用单”数据流。通过比较顶层图和 0 层图中与外部实体“租赁者”相关的数据流,可以发现:出现在 0 层图上的数据流“待租赁房屋列表”是顶层图上没有的,且与(2)处的数据流方向一致。由此可以判定,(2)处的数据流就是“待租赁房屋列表”。而顶层图中的数据流“租赁者信息”却是 0 层图上没有的。这样就找到了 0 层图上缺失的第 2 条数据流:租赁者信息,它的起点是“租赁者”,终点是加工“登记租赁者信息”。根据系统功能描述与数据流图的一致性原则有:由于(4)处缺失的数据流是一条输入数据流,从说明中可以看出,

    17、只有功能 6“当租赁者与房主达成租房或退房协议后,房主向系统提交变更房屋状态的请求”所描述的数据流没有在“房主”与系统之间体现出来。因此可以确定,(4)处缺失的数据流就是“变更房屋状态请求”。相应的,可以确定,在 0 层图中缺失的其中一条数据流也是它,其起点是“房主”,终点是“变更房屋状态”这个加工。由于说明中有“租赁者”相关的功能“一旦租赁者从中找到合适的房屋,就可以提出看房请求”,这一功能未在图中体现出来。这样就能确定(3)处的数据流应该是“看房请求”。而 0 层图中也没有出现这条数据流。所以,0 层图中缺失的第 3 条数据流就是“看房请求”,它的起点是“租赁者”,终点是加工“安排租赁者看

    18、房”。由说明的描述可以得知,本系统中的数据存储有:房主信息文件、房屋信息文件、租赁者信息文件、看房记录文件。下面就可以根据相应的加工对号入座了。显然,(5)处的是房主信息文件;(6)处的是租赁者信息文件;(7)处的是房屋信息文件;(8)处的是看房记录文件。二、试题二(总题数:1,分数:15.00)说明某汽车维修站拟开发一套小型汽车维修管理系统,对车辆的维修情况进行管理。1对于新客户及车辆,汽车维修管理系统首先登记客户信息,包括:客户编号、客户名称、客户性质(个人、单位)、折扣率、联系人、联系电话等信息;还要记录客户的车辆信息,包括:车牌号、车型、颜色、车辆类别等信息。一个客户至少有一台车。客户

    19、及车辆信息如表 2-1 所示。2记录维修车辆的故障信息。包括:维修类型(普通、加急)、作业分类(大、中、小修)、结算方式(自付、三包、索赔)等信息。维修厂的员工分为:维修员和业务员。车辆维修首先委托给业务员。业务员对车辆进行检查和故障分析后,与客户磋商,确定故障现象,生成维修委托书。如表 2-2 所示。3维修车间根据维修委托书和车辆的故障现象,在已有的维修项目中选择并确定一个或多个具体维修项目,安排相关的维修工及工时,生成维修派工单。维修派工单如表 2-3 所示。4客户车辆在车间修理完毕后,根据维修项目单价和维修派工单中的工时计算车辆此次维修的总费用,记录在委托书中。根据需求阶段收集的信息,设

    20、计的实体联系图(见图 2-1)和关系模式(不完整)如下所示。图 2-1 中业务员和维修工是员工的子实体。概念结构设计(分数:15.00)(1).根据问题描述,填写图 2.1 中(1)(4)处联系的类型。联系类型分为一对一、一对多和多对多三种,分别使用 1:1、1:n 或 1:*、m:n 或*:*表示。(分数:3.75)_正确答案:(1) n 或 m 或* (2) 1 (3) n 或 m 或* (4) n 或 m 或*)解析:(2).1 中的联系并指明其联系类型。联系名可为:联系 1,联系 2,。(分数:3.75)_正确答案:(完整的实体联系图如下图所示。)解析:(3).根据图 2-1 和说明,

    21、将逻辑结构设计阶段生成的关系模式中的空(5)(8)补充完整。(分数:3.75)_正确答案:(5)客户编号,客户名称,客户性质(6) 委托书编号,客户编号,车牌号,业务员编号或委托书编号,车牌号,业务员编号(7) 委托书编号,维修工编号,维修项目编号 (8) 员工编号,员工姓名)解析:(4).根据问题描述,写出客户、委托书和派工单这三个关系的主键。(分数:3.75)_正确答案:(客户:客户编号委托书:委托书编号派工单:委托书编号,维修项目编号,维修工编号)解析:解析 本题考查数据库设计,设计考点有:数据库的概念结构设计和逻辑结构设计。问题 1由维修委托书的故障描述,维修类型、作业分类,可知,一台

    22、车可能有多个故障,对应多个维修委托书,所以(1)空填写:*;题目中“维修车间根据维修委托书和车辆的故障现象,在已有的维修项目中选择并确定一个或多个具体维修项目,安排相关的维修工及工时,生成维修派工单”,很明显,一份委托书包含了一个或多个维修项目,而每个维修项目可以由多个维修工来完成,每一个维修工又可以完成多个维修项目,所以(2)空填写:1,(3)、(4)填写:*。问题 2需要补充车辆和客户之间以及委托书和业务员之间的关系。由题目“一个客户至少拥有一台车”可知,客户和车辆之间是“拥有”关系,且是一对多的关系;在由题目中“业务员对车辆进行检查和故障分析后,与客户磋商,确定故障现象,生成维修委托书”

    23、可知,业务员与委托书之间是“委托”关系,且一名业务员可以受理多份委托书,而一份委托书由一名业务员来生成。问题 3本题又是补充逻辑结构设计题,几乎每年都考,这类题目只要仔细看需求分析结果或者仔细观察题目中已知的表,很容易就能做出,关键是需要细心,不要漏掉什么属性。根据客户和车辆信息表可知,客户关系应包括客户编号、客户名称、客户性质、折扣率、联系人等属性,主键显然为客户编号;而车辆关系应包括车牌号、客户编号、车型、颜色、车辆类别等属性,主键为车牌号。根据维修委托书表可知委托书应包括委托书编号、车牌号、客户编号、业务员编号、维修类型等属性,其主键为委托书编号。根据维修派工单可知,派工单应包括委托书编

    24、号、维修项目编号、维修工编号、工时等属性,主键是委托书编号、维修项目编号和维修员编号。根据实体联系图知,员工包括业务员和维修工,他们共有的属性是员工编号、员工姓名、工种、员工类型、级别等属性,主键为员工编号。问题 4参考问题 3 的分析。三、试题三(总题数:1,分数:15.00)说明某图书管理系统的主要功能如下。1图书管理系统的资源目录中记录着所有可供读者借阅的资源,每项资源都有一个唯一的索引号。系统需登记每项资源的名称、出版时间和资源状态(可借阅或已借出)。2资源可以分为两类:图书和唱片。对于图书,系统还需登记作者和页数;对于唱片,还需登记演唱者和介质类型(CD 或者磁带)。3读者信息保存在

    25、图书管理系统的读者信息数据库中,记录的信息包括:读者的识别码和读者姓名。系统为每个读者创建了一个借书记录文件,用来保存读者所借资源的相关信息。现采用面向对象方法开发该图书管理系统。识别类是面向对象分析的第一步。比较常用的识别类的方法是寻找问题描述中的名词,再根据相关规则从这些名词中删除不可能成为类的名词,最终得到构成该系统的类。表 3-1 给出了说明中出现的所有名词。通过对表 3-1 中的名词进行分析,最终得到了图 3-1 所示的 UML 表类图(类的说明见表 3-21。(分数:15.00)(1).表 3-2 所给出的类并不完整,根据说明和表 3-1,将图 3-1 中的(a)(c)处补充完整。

    26、(分数:5.00)_正确答案:(a) 资源目录;(b) 图书;(c) 唱片)解析:(2).根据说明中的描述,给出图 3-1 中的类 CatalogItem 以及(b)、(c)处所对应的类的关键属性(使用表 3-1 中给出的词汇),其中,CatalogItem 有 4 个关键属性;(b)、(c)处对应的类各有 2 个关键属性。(分数:5.00)_正确答案:(Catalogltem 的属性:索引号、名称、出版时间、资源状态图书的属性:作者、页数唱片的属性:演唱者、介质类型)解析:(3).识别关联的多重度是面向对象建模过程中的一个重要步骤。根据说明中给出的描述,完成图 3-1 中的(1)(6)。*(

    27、分数:5.00)_正确答案:(1) 1, (2) 0*, (3) 1, (4) 0*, (5) 1, (6) 1 或者 01)解析:解析 本题主要考查 UML 中的类图设计,题目 3 个问题都是对类图的元素进行补充。类图的设计是根据系统的功能需求而来的,所以解题的关键在于对“系统功能说明”的理解。下面我们将通过对“系统功能说明”的分析,来解答试题:从系统功能说明中的“图书管理系统的资源目录中记录着所有可供读者阅读的资源”和“资源可分为两类:图书和唱片”,可以得知 1 个资源目录中对应着多个可供读者借阅的资源,这些资源分为图书类与唱片类,所以(a)为资源目录,(b)和(c)分别为图书和唱片,同时

    28、(1)应填:1,(2)应填:0*。(所有的可供读者借阅资源数有可能为 0,即还未录入任何资源的状态)。从“每项资源都有一个唯一的索引号。系统需登记每项资源的名称、出版时间和资源状态”。可以得知,资源目录中的每项资源,即类图中的 CatalogItern,有索引号、名称、出版时间和资源状态这 4 个关键属性。从“对于图书,系统还需登记作者和页数;对于唱片,还需登记演唱者和介质类型(CD 或者磁带)”,可以得知图书有作者和页数 2 个关键属性,唱片有演唱者和介质类型 2 个关键属性。Borrower 代表读者,而 BorrowerItems 为借书记录文件,同时系统功能说明中有“系统为每个读者创建

    29、了一个借书记录文件,用来保存读者所借资源的相关信息”,所以它们之间的关系应为 1 对 1,即第(5)空和第(6)空均填 1。四、试题四(总题数:1,分数:15.00)说明一般的树结构常采用孩子-兄弟表示法表示,即用二叉链表作树的存储结构,链表中节点的两个链域分别指向该节点的第一个孩予节点和下一个兄弟节点。例如,图 4-1(a)所示的树的孩子-兄弟表示如图 4-1fb)所示。函数 LevelTraverse()的功能是对给定树进行层序遍历。例如,对图 4-1 所示的树进行层序遍历时,节点的访问次序为:D B A E F P C。对树进行层序遍历时使用了队列结构,实现队列基本操作的函数原型如下表所

    30、示。(分数:14.98)填空项 1:_ (正确答案:EnQueue( /*所谓 namespace,是指标识符的各种可见范围。C+标准程序库中的所有标识符都被定义于一个名为 std 的 namespace 中。*/(2)由题中信息:类 FlyBehavior 与 QuackBehavior 为抽象类,分别用于表示抽象的飞行行为与发声行为,而这两种行为对应的不止是一种方式,为了表示多种行为方式(即多态),需要定义虚函数,用以给子类进行重载。再由予类中的函数 voidfly()及 void quack()可知,父类中的对应函数返回值也应为 void。所以(2)和(3)的填空如下:class Fly

    31、Behaviorpublic: (2) virtual void fly( )=O;class Qutack: Behaviorpublic: (3) virtual void quack( )=0;(3)Duck 类的定义, 由子类 RubberDuck 类中出现的“flvBehavior=newlyNoWay();quackBehavior=new Squeak();”可知这两个指针类型对象为 nyBehavior。和 quackBehavior。所以(4)和(5)填空如下:Class Duckprotected:FlyBehavior * (4) fiybehavior;QuackBeh

    32、avior * (5) quackBehavior;由“FlyBehavior * flyBehavior;QuackBehavior * quackBehavior;”及函数名可知,该函数体应调用FlyBehavior 类中的 ny 函数和 QuackBehavior 类中的 quack 函数。所以(6)和(7)填空如下:public:void fly() (6) fiybehavior-fiy(); void quack() (7) quackBehavior-quack(); ;virtual void display()=0;(4)由题中所给信息可知 RubberDuck 是“发出空气

    33、与橡皮摩擦声”并且“不能飞行”的鸭子种类,因此构造函数中创建的对象 flyBehavior 和 quackBehavior 对应的类型分别为 FlyNoWay,Squeak,所以第(8)和(9)空的填空如下:Class RubberDuck: public Duck public:RubberDuck()flyBehavior=new (8) FiyNoWay();quackBehaVior=new (9) Squeak();六、试题六(总题数:1,分数:14.00)说明某游戏公司现欲开发一款面向儿童的模拟游戏,该游戏主要模拟现实世界中各种鸭子的发声特征、飞行特征和外观特征。游戏需要模拟的鸭子

    34、种类及其特征如下表所示。为支持将来能够模拟更多种类鸭子的特征,采用策略设计模式(Strategy)设计的类图如图 6-1 所示。其中,Duck 为抽象类,描述了抽象的鸭子,而类 RubberDuck、MallardDuck、CottonDuck 和 RedHeadDuck分别描述具体的鸭子种类,方法 fly()、quack()和 display()分别表示不同种类的鸭子都具有飞行特征、发声特征和外观特征;接口 FlyBehavior 与 QuackBehavior 分别用于表示抽象的飞行行为与发声行为;类FlyNoWay 与 FlyWithWings 分别描述不能飞行的行为和用翅膀飞行的行为;

    35、类 Quack、Squeak 与QuackNoWay 分别描述发出“嘎嘎”声的行为、发出橡皮与空气摩擦声的行为与不发声的行为。请填补以下代码中的空缺。(分数:14.04)填空项 1:_ (正确答案:Interface)解析:填空项 1:_ (正确答案:Interface)解析:填空项 1:_ (正确答案:flyBehavior)解析:填空项 1:_ (正确答案:quackBehavior)解析:填空项 1:_ (正确答案:flyBehavior.fly)解析:填空项 1:_ (正确答案:quackBehavior.quack())解析:填空项 1:_ (正确答案:abstract)解析:填空项

    36、 1:_ (正确答案:FlyNoWay())解析:填空项 1:_ (正确答案:Squeak())解析:解析 本题考查面向对象的程序设计的抽象类和多态,使用的语言是 Java。(1) 由题中所给信息:接口 FlyBehavior 与 QuackBehavior 分别用于表示抽象的飞行行为与发声行为,可知(1)处和(2)处都应填 interface。(2) 由子类 RubberDuck 类中出现的 flyBelhavior 和 quackBehavior,而它们在之前并没有被定义过,可知(3)处和(4)处需声明这两个对象分别为 FlyBehavior、QuackBehavior 类型,否则出错。(

    37、3) 由“FlyBehavior flyBehavior; QuackBehavior quackBehavior;”及函数名可知该函数体应调用FlyBehavior 类中的 fly 函数和 QuackBehavior 类中的 quack 函数。所以(5)处和(6)处应分别填写:flyBehavior.fly 和 quackBehavior.quack()。(4) 由于 Duck 类为抽象类,因此需要一个抽象函数来描述鸭子的总体外观特征,所以(7)处应填写abstract。对于题目第(8)处和第(9)处,由题中所给信息可知 RubberDuck 是“发出空气与橡皮摩擦声”并且“不能飞行”的鸭子种类,因此构造函数中创建的对象 flyBehavior 和 quackBehavior 对应的类型分别为FlyNoWay、Squeak。


    注意事项

    本文(【计算机类职业资格】中级软件设计师下午试题-117及答案解析.doc)为本站会员(inwarn120)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1 

    收起
    展开