首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
【说明】 某网络故障诊断系统,使用故障代理(aZent、Sm4P Trap等)来检测各种意外情况,如大幅丢包、路由冲突、广播风暴等。网络管理员可以在安装该系统时配置安全监控程序(如故障代理程...
查看本题答案
包含此试题的试卷
中级软件设计师《问答集》真题及答案
点击查看
你可能感兴趣的试题
为了保证网络升级改造工程的质量设备迁移完成且网络恢复正常后监理使用部分网络命令进行了测试请判断下列网
为了保证网络升级改造工程的质量设备迁移完成且网络恢复正常后监理使用部分网络命令进行了测试请判断下列网
为了保证网络升级改造工程的质量设备迁移完成且网络恢复正常后监理使用部分网络命令进行了测试请判断下列网
故障诊断系统包括信号获取信号处理与故障诊断及控制输出3部分其中信号处理与故障诊断部分包括
测量放大器
抗混滤波器
A/D转换器
平滑滤波器
保护报警器
OBD-Ⅱ故障诊断系统中如果排放超过以下指标时故障灯会点亮
2.5倍
2倍
1.5倍
叙述发送机故障诊断系统自诊断的工作原理
关于状态监测与故障诊断的说法中错误的是
监视和测量设备或零部件的运行信息和特征参数叫做状态监测
状态监测系统也称为简易诊断系统
故障诊断是状态监测的基础和前提
故障诊断不仅要检查出设备是否发生了故障,而且要正确判断故障产生的原因、位置、性质和程度
【说明】某网络故障诊断系统使用故障代理aZentSm4P Trap等来检测各种意外情况如大幅丢
为了保证网络升级改造工程的质量设备迁移完成且网络恢复正常后监理使用部分网络命令进行了测试请判断下列网
【说明】某网络故障诊断系统使用故障代理agentSNMPTrap等来检测各种意外情况如大幅丢包路由冲
【说明】 某网络故障诊断系统使用故障代理agentSNMPTrap等来检测各种意外情况如大幅丢包路
故障诊断系统包括信号获取信号处理与故障诊断及控制输出三部分其中信号处理与故障诊断部分包括
测量放大器
抗混滤波器
A/D转换器
平滑滤波器
保护报警器
故障诊断系统包括信号获取信号处理与故障诊断及控制输出三部分其中信号处理与故障诊断部分包括 A.测量
动车组的控制监测与诊断系统简称TCMS是车载分布式的计算机网络 系统承担动车组______及制动控制
IPSec技术是一种
网络通信加密技术
网络存储技术
网络故障诊断技术
数字加密技术
每种印刷设备的计算机控制系统和故障诊断系统的技术也会有所不同
KAX—l行车安全监测诊断系统列车网络故障原因可能是
列车级主机箱内网卡LGl,LG2有故障
列车网终端电阻未接入
车厢级网关WG卡故障
ABC三项都有可能
【说明】某网络故障诊断系统使用故障代理aZentSm4P Trap等来检测各种意外情况如大幅丢
【说明】某网络故障诊断系统使用故障代理aZentSm4P Trap等来检测各种意外情况如大幅丢
【说明】某网络故障诊断系统使用故障代理aZentSm4PTrap等来检测各种意外情况如大幅丢包路由冲
热门试题
更多
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲实现一个图像浏览系统要求该系统能够显示BMPJPEG和GIF三种格式的文件并且能够在Windows和Linux两种操作系统上运行系统首先将BMPJPEG和GIF三种格式的文件解析为像素矩阵然后将像素矩阵显示在屏幕上系统需具有较好的扩展性以支持新的文件格式和操作系统为满足上述需求并减少所需生成的子类数目采用桥接Bridge设计模式进行设计所得类图如图18-17所示 采用该设计模式的原因在于系统解析BMPGIF与JPEG文件的代码仅与文件格式相关而在屏幕上显示像素矩阵的代码则仅与操作系统相关 [C++代码] clasSMatrix//各种格式的文件最终都被转换为像素矩阵 //此处代码省略 classImageImp public virtualvoiddoPaintMatrixm=0//显示像素矩阵m classWinlmppublicImageImp public voiddoPaintMatrixm/*调用Windows系统的绘制函数绘制像素矩阵*/ classLinuxlmppublicImagelmp public voiddoPaintMatrixm/*调用Linux系统的绘制函数绘制像素矩阵*/ classImage public voidsetImpImagelmp*imp1=imp virtualvoidparseFiiestringfileName=0 protected 2*imp classBMPpublicImage public voidparseFilestringfileName //此处解析BMP文件并获得一个像素矩阵对象m 3//显示像素矩阵m classGIF://publicImage //此处代码省略 classJPEG://publicImage //此处代码省略 voidmain //在Windows操作系统上查看demo.bmp图像文件 Image*imagel=4 ImageImp*imageImpl=5 6 imagel->parseFile"demo.bmp" 现假设该系统需要支持10种格式的图像文件和5种操作系统不考虑类Matrix若采用桥接设计模式则至少需要设计7个类 2处填
阅读下列说明和Java代码将应填入n处的字句写在对应栏内 [说明] 已知某企业欲开发一个家用电器遥控系统即用户使用一个遥控器即可控制某些家用电器的开与关遥控器如图18-13所示该遥控器共有4个按钮编号分别是0~3按钮0和2能够遥控打开电器1和电器2按钮1和3则能遥控关闭电器1和电器2由于遥控系统需要支持形式多样的电器因此该系统的设计要求具有较高的扩展性现假设需要控制客厅电视和卧室电灯对该遥控系统进行设计所得类图如图18-14所示 在图18-14中类RomoteController的方法onPressButtonintbutton表示当遥控器按键按下时调用的方法参数为按键的编号Command接N中的On和off方法分别用于控制电器的开与关Light中的mrnLightintdegree方法用于调整电灯灯光的强弱参数degree值为0时表示关灯值为100时表示开灯并且将灯光亮度调整到最大TV中的setChannelintchannel方法表示设置电视播放的频道参数channel值为0时表示关闭电视值为1时表示打开电视并将频道切换为第1频道 [Java代码] classLight//电灯类 publicvoidturnLightintdegree//调整灯光亮度0表示关灯100表示亮度最大 classTV//电视机类 PublicvoidsetChannelintchannel//0表示关机1表示开机并切换到第1频道 interfaceCommand//抽象命令类 voidon voidoff classRemoteController//遥控器类 protectedCommand[]commands=newCommand[4] //遥控器有4个按钮按照编号分别对应4个Command对象 publicvoidonPressButtonintbutton //按钮被按下时执行命令对象中的命令 ifbutton%2==0commands[button].on elsecommands[button].off publicvoidsetCommandintbuttonCommandcommand 1=command//设置每个按钮对应的命令对象 classLightCommandimplementsCommand//电灯命令类 protectedLightlight//指向要控制的电灯对象 publicvoidonlight.turnLight100 publicvoidofflight.2 publicLightCommandLightlightthis.light=light classTVCommandimplementsCommand//电视机命令类 protectedTvtv//指向要控制的电视机对象 publicvoidontv.3 publicvoidofftv.setChannel0 publicTVCommandTVtvthis.tv=tv publicclassrs publicstaticvoidmainString[]args Lightlight=newLightTVtv=newTV//创建电灯和电视对象 LightCommandlightCommand=newLightCommandlight TVCommandtvCommand=newTVCommandtv RemoteControllerremoteControllet=newRemoteController //设置按钮和命令对象 remoteController.setCommand04 …//此处省略设置按钮1按钮2和按钮3的命令对象代码 本题中应用命令模式能够有效让类5和类6类7之间的耦合性降至最小 1处填
阅读下列说明和Java代码将应填入n处的字句写在对应栏内 [说明] 已知某企业的采购审批是分级进行的即根据采购金额的不同由不同层次的主管人员来审批主任可以审批5万元以下不包括5万元的采购单副董事长可以审批5万元至10万元不包括10万元的采购单董事长可以审批10万元至50万元不包括50万元的采购单50万元及以上的采购单就需要开会讨论决定 采用责任链设计模式ChainofResponsibility对上述过程进行设计后得到的类图如图18-10所示 [Java代码] classPurchaseRequest publicdoubleAmount//采购的金额 publicintNumber//采购单编号 publicStringPurpose//采购目的 classApprover//审批者类 publicApproversuccessor=null publicvoidProcessRequestPurchaseRequestaRequest ifsuccessor!=nullsuccessor.1 publicvoidSetSuccessorApproveraSuccesssorsuccessor=aSuccesssor private2successor ClassCongressextendsApprover publicvoidProcessRequestPurchaseRequestaRequest ifaRequest.Amount>=500000/*决定是否审批的代码省略*/ else3.ProcessRequestaRequest classDirectorextendsApprover publicvoidProcessRequestPurchaseRequestaRequest/*此处代码省略*/ classPresidentextendsApprover publicvoidProcessRequestpurchaseRequestaRequest/*此处代码省略*/ classVicePresidentextendsApprover publicvoidProcessRequestpurchaseRequestaRequest/*此处代码省略*/ publicclassrs publicstaticvoidmainString[]argsthrowsIOException CongressMeeting=newCongress VicePresidentSam=newVicePresident DirectorLarry=newDirector PresidentTammy=newPresident //构造责任链 Meeting.SetSuccessornullSam.SetSuccessor4 Tammy.SetSuccessor5Larry.SetSuccessor6 //构造采购审批请求 PurchaseRequestaRequest=newPurchaseRequest BufferedReaderbr=newBufferedReadernewInputStreamReaderSystem.in aRequest.Amount=Double.parseDoublebr.readLine 7.ProcessRequestaRequest//开始审批 return 5处填
阅读下列说明和数据流图回答问题1至问题3将解答填入对应栏内 [说明] 某图书馆管理系统的主要功能是图书管理和信息查询对于初次借书的读者系统自动生成读者号并与读者基本信息姓名单位地址等一起写入读者文件 系统的图书管理功能分为4个方面购入新书读者借书读者还书和图书注销 1购入新书时需要为该书编制入库单入库单内容包括图书分类目录号书名作者价格数量和购书日期将这些信息写入图书目录文件并修改文件中的库存总量表示到目前为止购入此种图书的数量 2读者借书时需填写借书单借书单内容包括读者号和所借图书分类目录号系统首先检查该读者号是否有效若无效则拒绝借书若有效则进一步检查该读者已借图书是否超过最大限制数假设每位读者能同时借阅的书不超过5本若已达到最大限制数则拒绝借书否则允许借书同时将图书分类目录号读者号和借阅日期等信息写入借书文件中 3读者还书时需填写还书单系统根据读者号和图书分类目录号从借书文件中读出与该图书相关的借阅记录标明还书日期再写回到借书文件中若图书逾期则处以相应的罚款 4注销图书时需填写注销单并修改图书目录文件中的库存总量 系统的信息查询功能主要包括读者信息查询和图书信息查询其中读者信息查询可得到读者的基本信息以及读者借阅图书的情况图书信息查询可得到图书基本信息和图书的借出情况 图书管理系统的顶层数据流图如图15-1所示图书管理系统的第0层数据流图如图15-2所示其中加工2的细化图如图15-3所示 根据系统功能和数据流图填充下列数据字典条目中的1和2查询请求信息=[查询读者请求信息|查询图书请求信息]读者情况=读者号+姓名+所在单位+{借书情况
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图18-15所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档比如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图18-15中的类MyApplication和类MyDocument并分别实现Application类和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [C++代码] #include<iostream> #include<vector> usingnamespacestd C1assDocument public voidsave/*存储文档数据此处代码省略*/ voidopenstringdocName/*打开文档此处代码省略*/ voidclose/*关闭文档此处代码省略*/ virtualvoidreadStringdocName=0 classAppplication private vector<1>docs/*文档对象集合*/ public boolcanopenDocumentStringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假时值表示不可打开此处代码省略*/ voidaddDocumentDocument*aD0cument /*将文档对象添加到文档对象集合中*/ docs.push_back2 virtualDocument*doCreateDocument=0/*创建一个文档对象*/ voidopenDocumentstringdocName/*打开文档*/ if3 cout<<"文档无法打开!"<<end1 return 4adoc=5 6 7 8 2处填
阅读下列说明和数据流图回答问题1至问题3将解答填入对应栏内 [说明] 某图书馆管理系统的主要功能是图书管理和信息查询对于初次借书的读者系统自动生成读者号并与读者基本信息姓名单位地址等一起写入读者文件 系统的图书管理功能分为4个方面购入新书读者借书读者还书和图书注销 1购入新书时需要为该书编制入库单入库单内容包括图书分类目录号书名作者价格数量和购书日期将这些信息写入图书目录文件并修改文件中的库存总量表示到目前为止购入此种图书的数量 2读者借书时需填写借书单借书单内容包括读者号和所借图书分类目录号系统首先检查该读者号是否有效若无效则拒绝借书若有效则进一步检查该读者已借图书是否超过最大限制数假设每位读者能同时借阅的书不超过5本若已达到最大限制数则拒绝借书否则允许借书同时将图书分类目录号读者号和借阅日期等信息写入借书文件中 3读者还书时需填写还书单系统根据读者号和图书分类目录号从借书文件中读出与该图书相关的借阅记录标明还书日期再写回到借书文件中若图书逾期则处以相应的罚款 4注销图书时需填写注销单并修改图书目录文件中的库存总量 系统的信息查询功能主要包括读者信息查询和图书信息查询其中读者信息查询可得到读者的基本信息以及读者借阅图书的情况图书信息查询可得到图书基本信息和图书的借出情况 图书管理系统的顶层数据流图如图15-1所示图书管理系统的第0层数据流图如图15-2所示其中加工2的细化图如图15-3所示 数据流图15-2中有两条数据流是错误的请指出这两条数据流的起点和终点
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图18-15所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档比如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图18-15中的类MyApplication和类MyDocument并分别实现Application类和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [C++代码] #include<iostream> #include<vector> usingnamespacestd C1assDocument public voidsave/*存储文档数据此处代码省略*/ voidopenstringdocName/*打开文档此处代码省略*/ voidclose/*关闭文档此处代码省略*/ virtualvoidreadStringdocName=0 classAppplication private vector<1>docs/*文档对象集合*/ public boolcanopenDocumentStringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假时值表示不可打开此处代码省略*/ voidaddDocumentDocument*aD0cument /*将文档对象添加到文档对象集合中*/ docs.push_back2 virtualDocument*doCreateDocument=0/*创建一个文档对象*/ voidopenDocumentstringdocName/*打开文档*/ if3 cout<<"文档无法打开!"<<end1 return 4adoc=5 6 7 8 8处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图18-15所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档比如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图18-15中的类MyApplication和类MyDocument并分别实现Application类和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [C++代码] #include<iostream> #include<vector> usingnamespacestd C1assDocument public voidsave/*存储文档数据此处代码省略*/ voidopenstringdocName/*打开文档此处代码省略*/ voidclose/*关闭文档此处代码省略*/ virtualvoidreadStringdocName=0 classAppplication private vector<1>docs/*文档对象集合*/ public boolcanopenDocumentStringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假时值表示不可打开此处代码省略*/ voidaddDocumentDocument*aD0cument /*将文档对象添加到文档对象集合中*/ docs.push_back2 virtualDocument*doCreateDocument=0/*创建一个文档对象*/ voidopenDocumentstringdocName/*打开文档*/ if3 cout<<"文档无法打开!"<<end1 return 4adoc=5 6 7 8 4处填
阅读下列说明和Java代码将应填入n处的字句写在对应栏内 [说明] 已知某企业欲开发一个家用电器遥控系统即用户使用一个遥控器即可控制某些家用电器的开与关遥控器如图18-13所示该遥控器共有4个按钮编号分别是0~3按钮0和2能够遥控打开电器1和电器2按钮1和3则能遥控关闭电器1和电器2由于遥控系统需要支持形式多样的电器因此该系统的设计要求具有较高的扩展性现假设需要控制客厅电视和卧室电灯对该遥控系统进行设计所得类图如图18-14所示 在图18-14中类RomoteController的方法onPressButtonintbutton表示当遥控器按键按下时调用的方法参数为按键的编号Command接N中的On和off方法分别用于控制电器的开与关Light中的mrnLightintdegree方法用于调整电灯灯光的强弱参数degree值为0时表示关灯值为100时表示开灯并且将灯光亮度调整到最大TV中的setChannelintchannel方法表示设置电视播放的频道参数channel值为0时表示关闭电视值为1时表示打开电视并将频道切换为第1频道 [Java代码] classLight//电灯类 publicvoidturnLightintdegree//调整灯光亮度0表示关灯100表示亮度最大 classTV//电视机类 PublicvoidsetChannelintchannel//0表示关机1表示开机并切换到第1频道 interfaceCommand//抽象命令类 voidon voidoff classRemoteController//遥控器类 protectedCommand[]commands=newCommand[4] //遥控器有4个按钮按照编号分别对应4个Command对象 publicvoidonPressButtonintbutton //按钮被按下时执行命令对象中的命令 ifbutton%2==0commands[button].on elsecommands[button].off publicvoidsetCommandintbuttonCommandcommand 1=command//设置每个按钮对应的命令对象 classLightCommandimplementsCommand//电灯命令类 protectedLightlight//指向要控制的电灯对象 publicvoidonlight.turnLight100 publicvoidofflight.2 publicLightCommandLightlightthis.light=light classTVCommandimplementsCommand//电视机命令类 protectedTvtv//指向要控制的电视机对象 publicvoidontv.3 publicvoidofftv.setChannel0 publicTVCommandTVtvthis.tv=tv publicclassrs publicstaticvoidmainString[]args Lightlight=newLightTVtv=newTV//创建电灯和电视对象 LightCommandlightCommand=newLightCommandlight TVCommandtvCommand=newTVCommandtv RemoteControllerremoteControllet=newRemoteController //设置按钮和命令对象 remoteController.setCommand04 …//此处省略设置按钮1按钮2和按钮3的命令对象代码 本题中应用命令模式能够有效让类5和类6类7之间的耦合性降至最小 3处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图18-15所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档比如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图18-15中的类MyApplication和类MyDocument并分别实现Application类和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [C++代码] #include<iostream> #include<vector> usingnamespacestd C1assDocument public voidsave/*存储文档数据此处代码省略*/ voidopenstringdocName/*打开文档此处代码省略*/ voidclose/*关闭文档此处代码省略*/ virtualvoidreadStringdocName=0 classAppplication private vector<1>docs/*文档对象集合*/ public boolcanopenDocumentStringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假时值表示不可打开此处代码省略*/ voidaddDocumentDocument*aD0cument /*将文档对象添加到文档对象集合中*/ docs.push_back2 virtualDocument*doCreateDocument=0/*创建一个文档对象*/ voidopenDocumentstringdocName/*打开文档*/ if3 cout<<"文档无法打开!"<<end1 return 4adoc=5 6 7 8 6处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图18-15所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档比如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图18-15中的类MyApplication和类MyDocument并分别实现Application类和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [C++代码] #include<iostream> #include<vector> usingnamespacestd C1assDocument public voidsave/*存储文档数据此处代码省略*/ voidopenstringdocName/*打开文档此处代码省略*/ voidclose/*关闭文档此处代码省略*/ virtualvoidreadStringdocName=0 classAppplication private vector<1>docs/*文档对象集合*/ public boolcanopenDocumentStringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假时值表示不可打开此处代码省略*/ voidaddDocumentDocument*aD0cument /*将文档对象添加到文档对象集合中*/ docs.push_back2 virtualDocument*doCreateDocument=0/*创建一个文档对象*/ voidopenDocumentstringdocName/*打开文档*/ if3 cout<<"文档无法打开!"<<end1 return 4adoc=5 6 7 8 4处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲实现一个图像浏览系统要求该系统能够显示BMPJPEG和GIF三种格式的文件并且能够在Windows和Linux两种操作系统上运行系统首先将BMPJPEG和GIF三种格式的文件解析为像素矩阵然后将像素矩阵显示在屏幕上系统需具有较好的扩展性以支持新的文件格式和操作系统为满足上述需求并减少所需生成的子类数目采用桥接Bridge设计模式进行设计所得类图如图18-17所示 采用该设计模式的原因在于系统解析BMPGIF与JPEG文件的代码仅与文件格式相关而在屏幕上显示像素矩阵的代码则仅与操作系统相关 [C++代码] clasSMatrix//各种格式的文件最终都被转换为像素矩阵 //此处代码省略 classImageImp public virtualvoiddoPaintMatrixm=0//显示像素矩阵m classWinlmppublicImageImp public voiddoPaintMatrixm/*调用Windows系统的绘制函数绘制像素矩阵*/ classLinuxlmppublicImagelmp public voiddoPaintMatrixm/*调用Linux系统的绘制函数绘制像素矩阵*/ classImage public voidsetImpImagelmp*imp1=imp virtualvoidparseFiiestringfileName=0 protected 2*imp classBMPpublicImage public voidparseFilestringfileName //此处解析BMP文件并获得一个像素矩阵对象m 3//显示像素矩阵m classGIF://publicImage //此处代码省略 classJPEG://publicImage //此处代码省略 voidmain //在Windows操作系统上查看demo.bmp图像文件 Image*imagel=4 ImageImp*imageImpl=5 6 imagel->parseFile"demo.bmp" 现假设该系统需要支持10种格式的图像文件和5种操作系统不考虑类Matrix若采用桥接设计模式则至少需要设计7个类 1处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图18-15所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档比如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图18-15中的类MyApplication和类MyDocument并分别实现Application类和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [C++代码] #include<iostream> #include<vector> usingnamespacestd C1assDocument public voidsave/*存储文档数据此处代码省略*/ voidopenstringdocName/*打开文档此处代码省略*/ voidclose/*关闭文档此处代码省略*/ virtualvoidreadStringdocName=0 classAppplication private vector<1>docs/*文档对象集合*/ public boolcanopenDocumentStringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假时值表示不可打开此处代码省略*/ voidaddDocumentDocument*aD0cument /*将文档对象添加到文档对象集合中*/ docs.push_back2 virtualDocument*doCreateDocument=0/*创建一个文档对象*/ voidopenDocumentstringdocName/*打开文档*/ if3 cout<<"文档无法打开!"<<end1 return 4adoc=5 6 7 8 8处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲实现一个图像浏览系统要求该系统能够显示BMPJPEG和GIF三种格式的文件并且能够在Windows和Linux两种操作系统上运行系统首先将BMPJPEG和GIF三种格式的文件解析为像素矩阵然后将像素矩阵显示在屏幕上系统需具有较好的扩展性以支持新的文件格式和操作系统为满足上述需求并减少所需生成的子类数目采用桥接Bridge设计模式进行设计所得类图如图18-17所示 采用该设计模式的原因在于系统解析BMPGIF与JPEG文件的代码仅与文件格式相关而在屏幕上显示像素矩阵的代码则仅与操作系统相关 [C++代码] clasSMatrix//各种格式的文件最终都被转换为像素矩阵 //此处代码省略 classImageImp public virtualvoiddoPaintMatrixm=0//显示像素矩阵m classWinlmppublicImageImp public voiddoPaintMatrixm/*调用Windows系统的绘制函数绘制像素矩阵*/ classLinuxlmppublicImagelmp public voiddoPaintMatrixm/*调用Linux系统的绘制函数绘制像素矩阵*/ classImage public voidsetImpImagelmp*imp1=imp virtualvoidparseFiiestringfileName=0 protected 2*imp classBMPpublicImage public voidparseFilestringfileName //此处解析BMP文件并获得一个像素矩阵对象m 3//显示像素矩阵m classGIF://publicImage //此处代码省略 classJPEG://publicImage //此处代码省略 voidmain //在Windows操作系统上查看demo.bmp图像文件 Image*imagel=4 ImageImp*imageImpl=5 6 imagel->parseFile"demo.bmp" 现假设该系统需要支持10种格式的图像文件和5种操作系统不考虑类Matrix若采用桥接设计模式则至少需要设计7个类 4处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲实现一个图像浏览系统要求该系统能够显示BMPJPEG和GIF三种格式的文件并且能够在Windows和Linux两种操作系统上运行系统首先将BMPJPEG和GIF三种格式的文件解析为像素矩阵然后将像素矩阵显示在屏幕上系统需具有较好的扩展性以支持新的文件格式和操作系统为满足上述需求并减少所需生成的子类数目采用桥接Bridge设计模式进行设计所得类图如图18-17所示 采用该设计模式的原因在于系统解析BMPGIF与JPEG文件的代码仅与文件格式相关而在屏幕上显示像素矩阵的代码则仅与操作系统相关 [C++代码] clasSMatrix//各种格式的文件最终都被转换为像素矩阵 //此处代码省略 classImageImp public virtualvoiddoPaintMatrixm=0//显示像素矩阵m classWinlmppublicImageImp public voiddoPaintMatrixm/*调用Windows系统的绘制函数绘制像素矩阵*/ classLinuxlmppublicImagelmp public voiddoPaintMatrixm/*调用Linux系统的绘制函数绘制像素矩阵*/ classImage public voidsetImpImagelmp*imp1=imp virtualvoidparseFiiestringfileName=0 protected 2*imp classBMPpublicImage public voidparseFilestringfileName //此处解析BMP文件并获得一个像素矩阵对象m 3//显示像素矩阵m classGIF://publicImage //此处代码省略 classJPEG://publicImage //此处代码省略 voidmain //在Windows操作系统上查看demo.bmp图像文件 Image*imagel=4 ImageImp*imageImpl=5 6 imagel->parseFile"demo.bmp" 现假设该系统需要支持10种格式的图像文件和5种操作系统不考虑类Matrix若采用桥接设计模式则至少需要设计7个类 6处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图18-15所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档比如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图18-15中的类MyApplication和类MyDocument并分别实现Application类和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [C++代码] #include<iostream> #include<vector> usingnamespacestd C1assDocument public voidsave/*存储文档数据此处代码省略*/ voidopenstringdocName/*打开文档此处代码省略*/ voidclose/*关闭文档此处代码省略*/ virtualvoidreadStringdocName=0 classAppplication private vector<1>docs/*文档对象集合*/ public boolcanopenDocumentStringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假时值表示不可打开此处代码省略*/ voidaddDocumentDocument*aD0cument /*将文档对象添加到文档对象集合中*/ docs.push_back2 virtualDocument*doCreateDocument=0/*创建一个文档对象*/ voidopenDocumentstringdocName/*打开文档*/ if3 cout<<"文档无法打开!"<<end1 return 4adoc=5 6 7 8 6处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲实现一个图像浏览系统要求该系统能够显示BMPJPEG和GIF三种格式的文件并且能够在Windows和Linux两种操作系统上运行系统首先将BMPJPEG和GIF三种格式的文件解析为像素矩阵然后将像素矩阵显示在屏幕上系统需具有较好的扩展性以支持新的文件格式和操作系统为满足上述需求并减少所需生成的子类数目采用桥接Bridge设计模式进行设计所得类图如图18-17所示 采用该设计模式的原因在于系统解析BMPGIF与JPEG文件的代码仅与文件格式相关而在屏幕上显示像素矩阵的代码则仅与操作系统相关 [C++代码] clasSMatrix//各种格式的文件最终都被转换为像素矩阵 //此处代码省略 classImageImp public virtualvoiddoPaintMatrixm=0//显示像素矩阵m classWinlmppublicImageImp public voiddoPaintMatrixm/*调用Windows系统的绘制函数绘制像素矩阵*/ classLinuxlmppublicImagelmp public voiddoPaintMatrixm/*调用Linux系统的绘制函数绘制像素矩阵*/ classImage public voidsetImpImagelmp*imp1=imp virtualvoidparseFiiestringfileName=0 protected 2*imp classBMPpublicImage public voidparseFilestringfileName //此处解析BMP文件并获得一个像素矩阵对象m 3//显示像素矩阵m classGIF://publicImage //此处代码省略 classJPEG://publicImage //此处代码省略 voidmain //在Windows操作系统上查看demo.bmp图像文件 Image*imagel=4 ImageImp*imageImpl=5 6 imagel->parseFile"demo.bmp" 现假设该系统需要支持10种格式的图像文件和5种操作系统不考虑类Matrix若采用桥接设计模式则至少需要设计7个类 5处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲实现一个图像浏览系统要求该系统能够显示BMPJPEG和GIF三种格式的文件并且能够在Windows和Linux两种操作系统上运行系统首先将BMPJPEG和GIF三种格式的文件解析为像素矩阵然后将像素矩阵显示在屏幕上系统需具有较好的扩展性以支持新的文件格式和操作系统为满足上述需求并减少所需生成的子类数目采用桥接Bridge设计模式进行设计所得类图如图18-17所示 采用该设计模式的原因在于系统解析BMPGIF与JPEG文件的代码仅与文件格式相关而在屏幕上显示像素矩阵的代码则仅与操作系统相关 [C++代码] clasSMatrix//各种格式的文件最终都被转换为像素矩阵 //此处代码省略 classImageImp public virtualvoiddoPaintMatrixm=0//显示像素矩阵m classWinlmppublicImageImp public voiddoPaintMatrixm/*调用Windows系统的绘制函数绘制像素矩阵*/ classLinuxlmppublicImagelmp public voiddoPaintMatrixm/*调用Linux系统的绘制函数绘制像素矩阵*/ classImage public voidsetImpImagelmp*imp1=imp virtualvoidparseFiiestringfileName=0 protected 2*imp classBMPpublicImage public voidparseFilestringfileName //此处解析BMP文件并获得一个像素矩阵对象m 3//显示像素矩阵m classGIF://publicImage //此处代码省略 classJPEG://publicImage //此处代码省略 voidmain //在Windows操作系统上查看demo.bmp图像文件 Image*imagel=4 ImageImp*imageImpl=5 6 imagel->parseFile"demo.bmp" 现假设该系统需要支持10种格式的图像文件和5种操作系统不考虑类Matrix若采用桥接设计模式则至少需要设计7个类 7处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某类库开发商提供了一套类库类库中定义了Application类和Document类它们之间的关系如图18-15所示其中Application类表示应用程序自身而Document类则表示应用程序打开的文档Application类负责打开一个已有的以外部形式存储的文档比如一个文件一旦从该文件中读出信息后它就由一个Document对象表示 当开发一个具体的应用程序时开发者需要分别创建自己的Application和Document子类例如图18-15中的类MyApplication和类MyDocument并分别实现Application类和Document类中的某些方法 已知Application类中的openDocument方法采用了模板方法TemplateMethod设计模式该方法定义了打开文档的每一个主要步骤如下所示 1检查文档是否能够被打开若不能打开则给出出错信息并返回 2创建文档对象 3通过文档对象打开文档 4通过文档对象读取文档信息 5将文档对象加入到Application的文档对象集合中 [C++代码] #include<iostream> #include<vector> usingnamespacestd C1assDocument public voidsave/*存储文档数据此处代码省略*/ voidopenstringdocName/*打开文档此处代码省略*/ voidclose/*关闭文档此处代码省略*/ virtualvoidreadStringdocName=0 classAppplication private vector<1>docs/*文档对象集合*/ public boolcanopenDocumentStringdocName /*判断是否可以打开指定文档返回真值时表示可以打开返回假时值表示不可打开此处代码省略*/ voidaddDocumentDocument*aD0cument /*将文档对象添加到文档对象集合中*/ docs.push_back2 virtualDocument*doCreateDocument=0/*创建一个文档对象*/ voidopenDocumentstringdocName/*打开文档*/ if3 cout<<"文档无法打开!"<<end1 return 4adoc=5 6 7 8 2处填
阅读下列说明和Java代码将应填入n处的字句写在对应栏内 [说明] 已知某企业欲开发一个家用电器遥控系统即用户使用一个遥控器即可控制某些家用电器的开与关遥控器如图18-13所示该遥控器共有4个按钮编号分别是0~3按钮0和2能够遥控打开电器1和电器2按钮1和3则能遥控关闭电器1和电器2由于遥控系统需要支持形式多样的电器因此该系统的设计要求具有较高的扩展性现假设需要控制客厅电视和卧室电灯对该遥控系统进行设计所得类图如图18-14所示 在图18-14中类RomoteController的方法onPressButtonintbutton表示当遥控器按键按下时调用的方法参数为按键的编号Command接N中的On和off方法分别用于控制电器的开与关Light中的mrnLightintdegree方法用于调整电灯灯光的强弱参数degree值为0时表示关灯值为100时表示开灯并且将灯光亮度调整到最大TV中的setChannelintchannel方法表示设置电视播放的频道参数channel值为0时表示关闭电视值为1时表示打开电视并将频道切换为第1频道 [Java代码] classLight//电灯类 publicvoidturnLightintdegree//调整灯光亮度0表示关灯100表示亮度最大 classTV//电视机类 PublicvoidsetChannelintchannel//0表示关机1表示开机并切换到第1频道 interfaceCommand//抽象命令类 voidon voidoff classRemoteController//遥控器类 protectedCommand[]commands=newCommand[4] //遥控器有4个按钮按照编号分别对应4个Command对象 publicvoidonPressButtonintbutton //按钮被按下时执行命令对象中的命令 ifbutton%2==0commands[button].on elsecommands[button].off publicvoidsetCommandintbuttonCommandcommand 1=command//设置每个按钮对应的命令对象 classLightCommandimplementsCommand//电灯命令类 protectedLightlight//指向要控制的电灯对象 publicvoidonlight.turnLight100 publicvoidofflight.2 publicLightCommandLightlightthis.light=light classTVCommandimplementsCommand//电视机命令类 protectedTvtv//指向要控制的电视机对象 publicvoidontv.3 publicvoidofftv.setChannel0 publicTVCommandTVtvthis.tv=tv publicclassrs publicstaticvoidmainString[]args Lightlight=newLightTVtv=newTV//创建电灯和电视对象 LightCommandlightCommand=newLightCommandlight TVCommandtvCommand=newTVCommandtv RemoteControllerremoteControllet=newRemoteController //设置按钮和命令对象 remoteController.setCommand04 …//此处省略设置按钮1按钮2和按钮3的命令对象代码 本题中应用命令模式能够有效让类5和类6类7之间的耦合性降至最小 5处填
阅读以下说明和数据流图回答问题1至问题3将解答填入对应栏内 [说明] 学生住宿服务系统帮助学生在就学的城市找到所需住房系统对出租的房屋信息房主信息需要租房的学生信息以及学生和房主的会面信息进行管理和维护 房主信息包括姓名地址电话号码以及系统分配的唯一身份标志ID和密码房屋信息包括房屋地址类型单间/套间适合住宿的人数房租房主的ID以及现在是否可以出租例如由于装修原因需等到装修后才可出租或者房屋已被租出每当房屋信息发生变化时房主需通知系统系统将更新房屋文件以便学生能够获得准确的可租用房屋信息房主向系统中加入可租用的房屋信息时需缴纳一定的费用由系统自动给出费用信息房主可随时更新房屋的各种属性 学生可通过系统查询现可租用的房屋但必须先在系统中注册学生信息包括姓名现住址电话号码出生日期性别以及系统分配的唯一身份标志ID和密码若学生希望租用某房屋则需要发出租房请求请求中包含房屋的详细信息系统将安排学生与房主会面的时间和地点并将会面信息通知学生和房主会面信息包括会面时间地点以及会面双方的基本信息系统将记录会面信息 学生住宿服务系统的顶层数据流图如图15-4所示学生住宿服务系统的第0层数据流图如图15-5所示其中加工3的细化图如图15-6所示 安排会面加工除需要写入会面文件外还需要访问哪些文件
阅读下列说明和Java代码将应填入n处的字句写在对应栏内 [说明] 已知某企业的采购审批是分级进行的即根据采购金额的不同由不同层次的主管人员来审批主任可以审批5万元以下不包括5万元的采购单副董事长可以审批5万元至10万元不包括10万元的采购单董事长可以审批10万元至50万元不包括50万元的采购单50万元及以上的采购单就需要开会讨论决定 采用责任链设计模式ChainofResponsibility对上述过程进行设计后得到的类图如图18-10所示 [Java代码] classPurchaseRequest publicdoubleAmount//采购的金额 publicintNumber//采购单编号 publicStringPurpose//采购目的 classApprover//审批者类 publicApproversuccessor=null publicvoidProcessRequestPurchaseRequestaRequest ifsuccessor!=nullsuccessor.1 publicvoidSetSuccessorApproveraSuccesssorsuccessor=aSuccesssor private2successor ClassCongressextendsApprover publicvoidProcessRequestPurchaseRequestaRequest ifaRequest.Amount>=500000/*决定是否审批的代码省略*/ else3.ProcessRequestaRequest classDirectorextendsApprover publicvoidProcessRequestPurchaseRequestaRequest/*此处代码省略*/ classPresidentextendsApprover publicvoidProcessRequestpurchaseRequestaRequest/*此处代码省略*/ classVicePresidentextendsApprover publicvoidProcessRequestpurchaseRequestaRequest/*此处代码省略*/ publicclassrs publicstaticvoidmainString[]argsthrowsIOException CongressMeeting=newCongress VicePresidentSam=newVicePresident DirectorLarry=newDirector PresidentTammy=newPresident //构造责任链 Meeting.SetSuccessornullSam.SetSuccessor4 Tammy.SetSuccessor5Larry.SetSuccessor6 //构造采购审批请求 PurchaseRequestaRequest=newPurchaseRequest BufferedReaderbr=newBufferedReadernewInputStreamReaderSystem.in aRequest.Amount=Double.parseDoublebr.readLine 7.ProcessRequestaRequest//开始审批 return 7处填
阅读下列说明及数据流图回答问题1至问题3将解答填入对应栏内 [说明] 某学校建立了一个网上作业提交与管理系统基本功能描述如下 1账号和密码任课老师用账号和密码登录系统后提交所有选课学生的名单系统自动为每个选课学生创建登录系统的账号和密码 2作业提交学生使用账号和密码登录系统后可以向系统申请所选课程的作业系统首先检查学生的当前状态如果该学生还没有做过作业则从数据库服务器申请一份作业若申请成功则显示需要完成的作业学生需在线完成作业单击“提交”按钮上交作业 3在线批阅系统自动在线批改作业显示作业成绩并将该成绩记录在作业成绩统计文件中 如果将数据库服务器记为DB作为一个外部实体那么在绘制该系统的数据流图时还应有哪些外部实体和数据存储
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲构造一棵文件/目录树采用组合Composite设计模式来设计得到的类图如图18-19所示 [C++代码] #include<list> #include<iostream> #include<string> uslngnamesPacestd classAbStractFile protected stringname//文件或目录名称 public voidprintNamecout<<name//打印文件或目录名称 virtualcoidaddChildAbstractFile*file=0 //给一个目录增加子目录或文件 virtualvoidremoveChildAbstractFile*file=0 //删除一个目录的子目录或文件 virtuallist<AbstractFile*>*getChiidren=0 //获得一个目录的子目录或文件 classFilepublicAbstractFile public Filestringname1=name voidaddChildAbstractFile*filereturn voidremoveChildAbstractFile*filereturn 2getChiidrenreturn3 classFolderpublicAbstractFile private list<AbstractFile*>childList//存储子目录或文件 public Folderstringname4=name voidaddChiidAbstractFile*filechiidList.push_backfile voidremoveChiIdAbstractFile*filechiidList.removefile list<AbstractFile*>*getchildrenreturn5 voidmsin //构造一个树形的文件/目录结构 AbstractFile*rootFolder=newFolder"C://" AbstractFile*compositeFolder=newFolder"composite" AbstractFile*windowsFolder=newFolder"windows" AbstractFile*file=newFile"TestComposite.java" rootFolder->addChildcompositeFolder rootFolder->addChiidwindowsFolder compositeFolder->addChiidfile 2处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某企业欲开发一个家用电器遥控系统即用户使用一个遥控器即可控制某些家用电器的开与关遥控器如图18-11所示该遥控器共有4个按钮编号分别是0~3按钮0和2能够遥控打开电器1和电器2按钮1和3则能遥控关闭电器1和电器2由于遥控系统需要支持形式多样的电器因此该系统的设计要求具有较高的扩展性现假设需要控制客厅电视和卧室电灯对该遥控系统进行设计所得类图如图18-12所示 在图18-12中类RomoteController的方法onPressButtonintbutton表示当遥控器按键按下时调用的方法参数为按键的编号Command接口中的on和off方法分别用于控制电器的开与关Light中的mrnLightintdegree方法用于调整电灯灯光的强弱参数degree值为0时表示关灯值为100时表示开灯并且将灯光亮度调整到最大TV中的setChannelintchannel方法表示设置电视播放的频道参数channel值为0时表示关闭电视值为1时表示打开电视并将频道切换为第1频道 [C++代码] classLight//电灯类 public voidturnLightintdegree//调整灯光亮度0表示关灯100表示亮度最大 classTV//电视机类 public voidsetChannelintchannel//调整频道0表示关机1表示开机并切换到第1频道 classCommand//抽象命令类 public virtualvoidon=0 virtualvoidoff=0 classRemoteController//遥控器类 protected Command*commands[4]//遥控器有4个按钮按照编号分别对应4个Command对象 public voidonPressButtonintbutton//按钮被按下时执行命令对象中的命令 ifbutton%2==0commands[button]->on elsecommands[button]->off voidsetCommandintbuttonCommand*command 1=command//设置每个按钮对应的命令对象 classLightCommandpublicCommand//电灯命令类 protectedLight*light//指向要控制的电灯对象 public voidonlight->turnLight100 voidofflight->2 LightCommandLight*lightthis->light=light classTVCommandpublicCommand//电视机命令类 protectedTV*tv//指向要控制的电视机对象 public voidontv->3 voidofftv->setChannel0 TVCommandTV*tvthis->tv=tv voidmain LightlightTvtv//创建电灯和电视对象 LightCommandlightCommand&light TVCommandtvCommand&tv RemoteControilerremoteController remoteController.setCommand04//设置按钮0的命令对象 ……//此处省略设置按钮1按钮2和按钮3的命令对象代码 本题中应用命令模式能够有效让类5和类6类7之间的耦合性降至最小 4处填
阅读下列说明和Java代码将应填入n处的字句写在对应栏内 [说明] 已知某企业欲开发一个家用电器遥控系统即用户使用一个遥控器即可控制某些家用电器的开与关遥控器如图18-13所示该遥控器共有4个按钮编号分别是0~3按钮0和2能够遥控打开电器1和电器2按钮1和3则能遥控关闭电器1和电器2由于遥控系统需要支持形式多样的电器因此该系统的设计要求具有较高的扩展性现假设需要控制客厅电视和卧室电灯对该遥控系统进行设计所得类图如图18-14所示 在图18-14中类RomoteController的方法onPressButtonintbutton表示当遥控器按键按下时调用的方法参数为按键的编号Command接N中的On和off方法分别用于控制电器的开与关Light中的mrnLightintdegree方法用于调整电灯灯光的强弱参数degree值为0时表示关灯值为100时表示开灯并且将灯光亮度调整到最大TV中的setChannelintchannel方法表示设置电视播放的频道参数channel值为0时表示关闭电视值为1时表示打开电视并将频道切换为第1频道 [Java代码] classLight//电灯类 publicvoidturnLightintdegree//调整灯光亮度0表示关灯100表示亮度最大 classTV//电视机类 PublicvoidsetChannelintchannel//0表示关机1表示开机并切换到第1频道 interfaceCommand//抽象命令类 voidon voidoff classRemoteController//遥控器类 protectedCommand[]commands=newCommand[4] //遥控器有4个按钮按照编号分别对应4个Command对象 publicvoidonPressButtonintbutton //按钮被按下时执行命令对象中的命令 ifbutton%2==0commands[button].on elsecommands[button].off publicvoidsetCommandintbuttonCommandcommand 1=command//设置每个按钮对应的命令对象 classLightCommandimplementsCommand//电灯命令类 protectedLightlight//指向要控制的电灯对象 publicvoidonlight.turnLight100 publicvoidofflight.2 publicLightCommandLightlightthis.light=light classTVCommandimplementsCommand//电视机命令类 protectedTvtv//指向要控制的电视机对象 publicvoidontv.3 publicvoidofftv.setChannel0 publicTVCommandTVtvthis.tv=tv publicclassrs publicstaticvoidmainString[]args Lightlight=newLightTVtv=newTV//创建电灯和电视对象 LightCommandlightCommand=newLightCommandlight TVCommandtvCommand=newTVCommandtv RemoteControllerremoteControllet=newRemoteController //设置按钮和命令对象 remoteController.setCommand04 …//此处省略设置按钮1按钮2和按钮3的命令对象代码 本题中应用命令模式能够有效让类5和类6类7之间的耦合性降至最小 7处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某企业欲开发一个家用电器遥控系统即用户使用一个遥控器即可控制某些家用电器的开与关遥控器如图18-11所示该遥控器共有4个按钮编号分别是0~3按钮0和2能够遥控打开电器1和电器2按钮1和3则能遥控关闭电器1和电器2由于遥控系统需要支持形式多样的电器因此该系统的设计要求具有较高的扩展性现假设需要控制客厅电视和卧室电灯对该遥控系统进行设计所得类图如图18-12所示 在图18-12中类RomoteController的方法onPressButtonintbutton表示当遥控器按键按下时调用的方法参数为按键的编号Command接口中的on和off方法分别用于控制电器的开与关Light中的mrnLightintdegree方法用于调整电灯灯光的强弱参数degree值为0时表示关灯值为100时表示开灯并且将灯光亮度调整到最大TV中的setChannelintchannel方法表示设置电视播放的频道参数channel值为0时表示关闭电视值为1时表示打开电视并将频道切换为第1频道 [C++代码] classLight//电灯类 public voidturnLightintdegree//调整灯光亮度0表示关灯100表示亮度最大 classTV//电视机类 public voidsetChannelintchannel//调整频道0表示关机1表示开机并切换到第1频道 classCommand//抽象命令类 public virtualvoidon=0 virtualvoidoff=0 classRemoteController//遥控器类 protected Command*commands[4]//遥控器有4个按钮按照编号分别对应4个Command对象 public voidonPressButtonintbutton//按钮被按下时执行命令对象中的命令 ifbutton%2==0commands[button]->on elsecommands[button]->off voidsetCommandintbuttonCommand*command 1=command//设置每个按钮对应的命令对象 classLightCommandpublicCommand//电灯命令类 protectedLight*light//指向要控制的电灯对象 public voidonlight->turnLight100 voidofflight->2 LightCommandLight*lightthis->light=light classTVCommandpublicCommand//电视机命令类 protectedTV*tv//指向要控制的电视机对象 public voidontv->3 voidofftv->setChannel0 TVCommandTV*tvthis->tv=tv voidmain LightlightTvtv//创建电灯和电视对象 LightCommandlightCommand&light TVCommandtvCommand&tv RemoteControilerremoteController remoteController.setCommand04//设置按钮0的命令对象 ……//此处省略设置按钮1按钮2和按钮3的命令对象代码 本题中应用命令模式能够有效让类5和类6类7之间的耦合性降至最小 6处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲构造一棵文件/目录树采用组合Composite设计模式来设计得到的类图如图18-19所示 [C++代码] #include<list> #include<iostream> #include<string> uslngnamesPacestd classAbStractFile protected stringname//文件或目录名称 public voidprintNamecout<<name//打印文件或目录名称 virtualcoidaddChildAbstractFile*file=0 //给一个目录增加子目录或文件 virtualvoidremoveChildAbstractFile*file=0 //删除一个目录的子目录或文件 virtuallist<AbstractFile*>*getChiidren=0 //获得一个目录的子目录或文件 classFilepublicAbstractFile public Filestringname1=name voidaddChildAbstractFile*filereturn voidremoveChildAbstractFile*filereturn 2getChiidrenreturn3 classFolderpublicAbstractFile private list<AbstractFile*>childList//存储子目录或文件 public Folderstringname4=name voidaddChiidAbstractFile*filechiidList.push_backfile voidremoveChiIdAbstractFile*filechiidList.removefile list<AbstractFile*>*getchildrenreturn5 voidmsin //构造一个树形的文件/目录结构 AbstractFile*rootFolder=newFolder"C://" AbstractFile*compositeFolder=newFolder"composite" AbstractFile*windowsFolder=newFolder"windows" AbstractFile*file=newFile"TestComposite.java" rootFolder->addChildcompositeFolder rootFolder->addChiidwindowsFolder compositeFolder->addChiidfile 4处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 现欲实现一个图像浏览系统要求该系统能够显示BMPJPEG和GIF三种格式的文件并且能够在Windows和Linux两种操作系统上运行系统首先将BMPJPEG和GIF三种格式的文件解析为像素矩阵然后将像素矩阵显示在屏幕上系统需具有较好的扩展性以支持新的文件格式和操作系统为满足上述需求并减少所需生成的子类数目采用桥接Bridge设计模式进行设计所得类图如图18-17所示 采用该设计模式的原因在于系统解析BMPGIF与JPEG文件的代码仅与文件格式相关而在屏幕上显示像素矩阵的代码则仅与操作系统相关 [C++代码] clasSMatrix//各种格式的文件最终都被转换为像素矩阵 //此处代码省略 classImageImp public virtualvoiddoPaintMatrixm=0//显示像素矩阵m classWinlmppublicImageImp public voiddoPaintMatrixm/*调用Windows系统的绘制函数绘制像素矩阵*/ classLinuxlmppublicImagelmp public voiddoPaintMatrixm/*调用Linux系统的绘制函数绘制像素矩阵*/ classImage public voidsetImpImagelmp*imp1=imp virtualvoidparseFiiestringfileName=0 protected 2*imp classBMPpublicImage public voidparseFilestringfileName //此处解析BMP文件并获得一个像素矩阵对象m 3//显示像素矩阵m classGIF://publicImage //此处代码省略 classJPEG://publicImage //此处代码省略 voidmain //在Windows操作系统上查看demo.bmp图像文件 Image*imagel=4 ImageImp*imageImpl=5 6 imagel->parseFile"demo.bmp" 现假设该系统需要支持10种格式的图像文件和5种操作系统不考虑类Matrix若采用桥接设计模式则至少需要设计7个类 3处填
阅读下列说明和C++代码将应填入n处的字句写在对应栏内 [说明] 已知某企业欲开发一个家用电器遥控系统即用户使用一个遥控器即可控制某些家用电器的开与关遥控器如图18-11所示该遥控器共有4个按钮编号分别是0~3按钮0和2能够遥控打开电器1和电器2按钮1和3则能遥控关闭电器1和电器2由于遥控系统需要支持形式多样的电器因此该系统的设计要求具有较高的扩展性现假设需要控制客厅电视和卧室电灯对该遥控系统进行设计所得类图如图18-12所示 在图18-12中类RomoteController的方法onPressButtonintbutton表示当遥控器按键按下时调用的方法参数为按键的编号Command接口中的on和off方法分别用于控制电器的开与关Light中的mrnLightintdegree方法用于调整电灯灯光的强弱参数degree值为0时表示关灯值为100时表示开灯并且将灯光亮度调整到最大TV中的setChannelintchannel方法表示设置电视播放的频道参数channel值为0时表示关闭电视值为1时表示打开电视并将频道切换为第1频道 [C++代码] classLight//电灯类 public voidturnLightintdegree//调整灯光亮度0表示关灯100表示亮度最大 classTV//电视机类 public voidsetChannelintchannel//调整频道0表示关机1表示开机并切换到第1频道 classCommand//抽象命令类 public virtualvoidon=0 virtualvoidoff=0 classRemoteController//遥控器类 protected Command*commands[4]//遥控器有4个按钮按照编号分别对应4个Command对象 public voidonPressButtonintbutton//按钮被按下时执行命令对象中的命令 ifbutton%2==0commands[button]->on elsecommands[button]->off voidsetCommandintbuttonCommand*command 1=command//设置每个按钮对应的命令对象 classLightCommandpublicCommand//电灯命令类 protectedLight*light//指向要控制的电灯对象 public voidonlight->turnLight100 voidofflight->2 LightCommandLight*lightthis->light=light classTVCommandpublicCommand//电视机命令类 protectedTV*tv//指向要控制的电视机对象 public voidontv->3 voidofftv->setChannel0 TVCommandTV*tvthis->tv=tv voidmain LightlightTvtv//创建电灯和电视对象 LightCommandlightCommand&light TVCommandtvCommand&tv RemoteControilerremoteController remoteController.setCommand04//设置按钮0的命令对象 ……//此处省略设置按钮1按钮2和按钮3的命令对象代码 本题中应用命令模式能够有效让类5和类6类7之间的耦合性降至最小 2处填
热门题库
更多
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术
有线传输专业技术
电话交换专业技术
电信网络专业技术