【说明】某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。

【说明】
某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图5-1所示。





参考解析

解析:?试题分析??? 本题考查基本面向对象设计模式的运用能力。
??? 状态设计模式主要是能够使一个对象的内在状态改变时允许改变其行为,使这个对象看起来像是改变了其类。由类图可知类State是类SoldState、SoldOutState、NoQuarterState和HasQuarterState分的父类,它抽象了这四个类的共有属性和行为。在使用中,无论是这四个类中那个类的对象,都可被当作State对象来使用。
??? 而根据题目的描述,我们可以知道一个纸巾售卖机它由4种状态,分别是售出纸巾、纸巾售完、没有投币、有2元钱。
??? 在本题中,根据程序我们不难知道第(1)空是要定义5个对象指针,而这些对象指针都应该属于State类型,因此第一空答案为State。
??? 而第(2)在类NoQuarterState(没有投币)的insertQuarter()函数中,而这个函数是投币函数,在该函数中,使用了tissueMachine类的setState方法,该方法是设置纸巾售卖机的当前状态,根据题目给出的纸巾售卖机状态图,我们可以知道,从没有投币状态,经过投币后,应该转换到有2元钱状态。而setState方法的参数是一个State的对象,因此第(2)空应该是一个有2元钱对象,而这里我们可以新创建一个该对象,也可以通过tissueMachine类的getHasQuarterState方法来获得这样一个对象,所以第(2)空答案应该是“tissueMachine->getHasQuarterState()”或“new HasQuarterState”。
??? 而第(3)在类HasQuarterState(有2元钱)的ejectQuarter()函数中,而这个函数是退币函数,在该函数中,也使用了tissueMachine类的setState方法,该方法是设置纸巾售卖机的当前状态,根据题目给出的纸巾售卖机状态图,我们可以知道,从有2元钱状态,经过退币后,应该转换到没有投币状态。而setState方法的参数是一个State的对象,因此第(3)空应该是一个没有投币对象,而这里我们可以新创建一个该对象,也可以通过tissueMachine类的getNoQuarterState方法来获得这样一个对象,所以第(3)空答案应该是“tissueMachine-> getNoQuarterState()”或“new NoQuarterState”。
??? 而同样的道理,我们可以知道第(4)空的答案是“tissueMachine->getNoQuarterState()”或“new NoQuarterState”。第(5)空的答案是“tissueMachine->getSoldOutState()”或“new SoldOutState”。?参考答案:(1)State
(2)tissueMachine->getHasQuarterState()
(3)tissueMachine->getNoQuarterState()
(4)tissueMachine->getNoQuarterState()
(5)tissueMachine->getSoldOutState()?

相关考题:

地质“三书”是指() A、采区地质说明书、回采工作面地质说明书、掘进工作面地质说明书B、采区设备说明书、顶板结构说明书、底板岩性说明书C、地质构造说明书、顶板结构说明书、底板岩性说明书D、煤层地质说明书、顶板岩性说明书、底板岩性说明书

在公文写作中,说明的主要方法包括( )。A.定义说明B.议论说明C.分类说明SXB 在公文写作中,说明的主要方法包括( )。A.定义说明B.议论说明C.分类说明D.数字说明

说明技法包括() A.分类说明B.定义说明C.诠释说明D.类比说明

符合数据说明顺序规范的是( )。 A. 全程量说明、局部量说明、类型说明、常量说明B. 全程量说明、局部量说明、常量说明、类型说明C. 类型说明、常量说明、全程量说明、局部量说明D. 常量说明、类型说明、全程量说明、局部量说明

在公文写作中,说明的主要方法包括( )。A.定义说明B.议论说明C.分类说明D.数字说明

预算定额的说明包括( )。A、定额总说明、分部工程说明及分项工程说明B、分部工程说明及单项工程说明C、定额总说明及分部工程说明D、定额总说明、分部工程说明、分项工程说明及其他工程说明

根据工作说明书所说明的对象不同,可以把工作说明书分为( )。A.岗位工作说明书B.部门工作说明书C.公司工作说明书D.行业公司说明书E.全球工作说明书

EXPRESS语言通过一系列的说明来进行描述,这些说明主要包括()。 A.类型说明(Type)B.实体说明(Entity)C.规则说明(Rule)D.函数说明(Function)E.材料说明(Materials)

为了突出鹰眼的特点,文中主要采用的说明方法是:A.数字说明与举例说明。 B.举例说明与比较说明。C.比较说明与比喻说明。 D.比喻说明与数字说明。

根据工作说明书所说明的对象不同,可以把工作说明书分为()。A:岗位工作说明书B:部门工作说明书C:公司工作说明书D:行业公司说明书E:全球工作说明书

调查报告的表达方式以说明为主,包括()说明、()说明、()说明。

园林工程预算定额的文字说明部分主要分为()等。A、总说明B、分部工程说明C、分节说明D、施工说明E、决算说明

EXPRESS语言通过一系列的说明来进行描述,这些说明主要包括()。A、类型说明(Type)B、实体说明(Entity)C、规则说明(Rule)D、函数说明(Function)E、材料说明(Materials)

IPO图中不包括()A、输入说明B、输出说明C、算法说明D、存储说明

一个完整的pascal 程序由程序首部,说明部分及执行部分组成,其说明部分的次序为()A、常量说明,类型说明,变量说明,标号说明,过程说明B、标号说明,类型说明,变量说明,常量说明,过程说明C、标号说明,常量说明,类型说明,变量说明,过程说明D、类型说明,变量说明,标号说明,过程说明,常量说明

财经应用写作中常用的说明技法主要有()A、介绍性说明B、解释性说明C、定义说明D、分类说明E、比较说明

按照一定的标准将需要说明的对象划分为不同的类别加以说明的方法是()。A、概括说明B、分类说明C、定义说明D、引用说明

运用对比的方法所进行的说明为()。A、概括说明B、定义说明C、分类说明D、比较说明

评估对象的约谈说明可以采取()形式进行。A、当面说明B、电话说明C、书面说明D、电子邮件说明

会计专业文书常用的说明方法有()A、定义说明B、比较说明C、数字说明D、图表说明E、举例说明

()是以解释的方式说明事物。A、定义说明B、诠释说明C、分类说明D、比较说明

单选题一个完整的pascal 程序由程序首部,说明部分及执行部分组成,其说明部分的次序为()A常量说明,类型说明,变量说明,标号说明,过程说明B标号说明,类型说明,变量说明,常量说明,过程说明C标号说明,常量说明,类型说明,变量说明,过程说明D类型说明,变量说明,标号说明,过程说明,常量说明

判断题财经应用写作中常用的说明技法主要有定义说明、分类说明、举例说明、比较说明。A对B错

多选题财经应用写作中常用的说明技法主要有()A介绍性说明B解释性说明C定义说明D分类说明E比较说明

单选题运用对比的方法所进行的说明为()。A概括说明B定义说明C分类说明D比较说明

多选题EXPRESS语言通过一系列的说明来进行描述,这些说明主要包括()。A类型说明(Type)B实体说明(Entity)C规则说明(Rule)D函数说明(Function)E材料说明(Materials)

单选题预算定额的说明包括()。A定额总说明、分部工程说明及分项工程说明B分部工程说明及单项工程说明C定额总说明及分部工程说明D定额总说明、分部工程说明、分项工程说明及其他工程说明

多选题会计专业文书常用的说明方法有()A定义说明B比较说明C数字说明D图表说明E举例说明