阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】某灯具厂商欲生产一个灯
阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的对应栏内。
【说明】
某灯具厂商欲生产一个灯具遥控器,该遥控器具有7个可编程的插槽,每个插槽都
有开关按钮,对应着一个不同的灯。利用该遥控器能够统一控制房间中该厂商所有品牌
灯具的开关,现采用Command(命令)模式实现该遥控器的软件部分。Command模式
的类图如图5-1所示。
【c++代码】
}
本题考查命令(Command)模式的基本概念和应用。命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。在软件系统中,行为请求者与行为实现者之间通常呈现一种紧耦合的关系。但在某些场合,比如要对行为进行记录撤销重做事务等处理,这种无法抵御变化的紧耦合是不合适的。这种情况下,使用Command模式将行为请求者与行为实现者进行解耦。题目中给出了Command模式的类图,其中:Command类为所有命令声明了一个接口。调用命令对象的execute()方法,就可以让接收者进行相关的动作。ConcreteCommand类定义了动作和接收者之间的绑定关系。调用者只要调用execute()就可以发出请求,然后由ConcreteCommand调用接收者的一个或多个动作。Invoker持有一个命令对象,并在某个时间点调用命令对象的execute()方法,将请求付诸实行。Receiver知道如何进行必要的工作,实现这个请求。任何类都可以当接收者。了解了Command模式的内涵之后,下面来看程序。由于Command类的主要作用是为所有的ConcreteCommand定义统一的接口,在c++中通常采用抽象类来实现。C++的抽象类是至少具有一个纯虚拟函数的类。本题中的接口就是execute()方法,所以(1)处要求填写的是纯虚拟函数cxecute的定义方式,即vifrualvoidexecute()=0。类LightOnCammand、LightOfiCommand对应的就是模式中的ConcreteCommand;ConcreteCommand中execute()方法的代码在类图中已经给出,现在需要确定recelver是谁。类Light充当的是Receiver,其中定义了两种action:on和off.所以(2)、(3)对应代码分别为light->on()、light->off()。类RemoteControl对应的是模式中的Invoker,在该类中设置需要控制的命令对象。(4)处对应的代码为onCommands[slot],设置“开灯”命令对象;(5)处对应的代码为affcommands[slot].设置‘关灯”命令对象。类RemoteControl中的方法onButtanWasPushed和offlButtonWasPushed,分别完成对开灯、关灯命令对象的execute方法的调用,所以(6)、(7)处分别对应代码onCommands[slot]->execute()、offCommands[slot]->execute()。试题五参考答案(1)virtualvoidexecute()=0(2)light->on()(3)light->off()(4)onCommands[slot](5)offCommands[slot](6)onCommands[slot]->execute()(7)offCommands[slot]->execute()
求问一个字的读音及意思由中间的一竖没有到底,在中间的一横处停笔,是什么字?新华字典里没有,它的读音 语文 2020-04-09 …
A.B质量分别为0.1kg和0.4kg,A.B间的动摩擦因数为0.5,放置在光滑的桌面上,要使A沿 物理 2020-04-09 …
热处理是固体废物的一种处理方式,下列哪项固体废物处理方式不属于热处理方法( )。A.焚烧 B,热 建筑工程类考试 2020-05-18 …
警告是治安管理处罚中最轻的一种处罚。 ( ) 公务员考试 2020-05-19 …
警告是治安管理处罚中最轻的一种处罚。( )A.正确B.错误 公务员考试 2020-05-19 …
是将钢加热到一定温度,保温一定时间后,快速冷却的一种处理方法。A.退火B.正火C.淬火D.回火 职业技能鉴定 2020-05-28 …
请问饮料废水的来源及特点,还有他的一般处理工艺是什么?饮料废水处理方案比选怎么做?尤其是和水质有关 政治 2020-06-04 …
按照唐律中有关“共犯罪”的规定,对共同犯罪中从犯的一般处罚标准是()。A.与首犯同等处罚B.减首犯一 学历类考试 2020-06-04 …
我们的校园很美请你给远方的朋友写一封信介绍一下校园里自己最喜欢的一两处景色.不少于350字,题目定 语文 2020-07-09 …
折弯机不能上下升降换了油泵和电磁阀还是没用,开机后踩脚踏开关电磁阀上的灯亮的但就是没用,我的机器上 其他 2020-07-11 …