选择题:某大型商场内安装了多个简易的纸巾售卖机,自动出售2元钱一包的纸巾,且每次仅售出一包纸巾。纸巾售卖机的状态图如图6-1所示。采用状态(State)模式来实现该纸巾

  • 题目分类:软件水平考试
  • 题目类型:选择题
  • 号外号外:注册会员即送体验阅读点!
题目内容:

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

中级软件设计师,历年真题,2011年下半年(下午)《软件设计师》真题

采用状态(State)模式来实现该纸巾售卖机,得到如图6-2所示的类图。其中类State为抽象类,定义了投币、退币、出纸巾等方法接口。类SoldState、SoldOutState、NoQuarterState和HasQuarterState分别对应图6-1中纸巾售卖机的4种状态:售出纸巾、纸巾售完、没有投币、有2元钱。

中级软件设计师,历年真题,2011年下半年(下午)《软件设计师》真题

【Java代码】

import java.util.*;

interface State{

public void insertQuarter(  );//投币

public void ejectQuarter(  );//退币

public void turnCrank(  );//按下“出纸巾”按钮

public void dispense(  );//出纸巾

}

class TissueMachine{

(1)soldOutState,noQuarterState,hasQuarterState,soldState,state;

state=soldOutState;

int count=0;//纸巾数

public TissueMachine(int numbers){/*实现代码省略*/}

public State getHasQuarterState(  ){return hasQuarterState;}

public State getNoQuarterState(  ){return noQuarterState;}

public State getSoldState(  ){return soldState;}

public State getSoldOutState(  ){return soldOutState;}

public int getCount(  ){return count;}

//其余代码省略

}

class NoQuarterState implements State{

TissueMachine tissueMachine;

public void insertQuarter(  ){

tissueMachine.setState((2));

}

//构造方法以及其余代码省略

}

class HasQuarterState implements State{

TissueMachine tissueMachine;

public void ejectQuarter(  ){

tissueMachine.setState((3));

}

//构造方法以及其余代码省略

}

class SoldState implements State{

TissueMachine tissueMachine;

public void dispense(  ){

if(tissueMachine.getCount(  )>0){

tissueMachine.setState((4));

}else{

tissueMachine.setState((5));}

}

}

答案解析:

某大型央企A公司计划开展云数据中心建设项目,并将公司主要业务应用逐步迁移到云平台上,由于项目金额巨大,A公司决委托当地某知名招标代理机构,通过公开招标方式选择系

某大型央企A公司计划开展云数据中心建设项目,并将公司主要业务应用逐步迁移到云平台上,由于项目金额巨大,A公司决委托当地某知名招标代理机构,通过公开招标方式选择系统集成商。6月20日,招标代理机构在网站

查看答案

网络安全应用协议SSL协议工作在(  ),HTTPS协议工作在(  )。问题1选项 A.数据链路层 B.网络层 C.传输层 D.应用层问题2选项 A.数据链路层

网络安全应用协议SSL协议工作在(  ),HTTPS协议工作在(  )。问题1选项 A.数据链路层 B.网络层 C.传输层 D.应用层问题2选项 A.数据链路层 B.网络层 C.传输层 D.应用层

查看答案

沟通管理是项目管理的重要方面,统计表明沟通管理的成败直接关系到IT项目的成败。项目的沟通管理,应该包括项目实施组织内部的沟通以及与组织外部的沟通。项目的推动需要

沟通管理是项目管理的重要方面,统计表明沟通管理的成败直接关系到IT项目的成败。项目的沟通管理,应该包括项目实施组织内部的沟通以及与组织外部的沟通。项目的推动需要内部和外部项目干系人协同工作。项目经理应

查看答案

【文件六】 类 别:电话录音 来电人:方丽丽 中央厨房事业部部长 收件人;李 炜 集团人力资源部部长 李部长: 魏总在上周的公司高层管理人员的会议中强调,以后要

【文件六】 类 别:电话录音 来电人:方丽丽 中央厨房事业部部长 收件人;李 炜 集团人力资源部部长 李部长: 魏总在上周的公司高层管理人员的会议中强调,以后要将中央厨房、物流中心等事业部从集团中剥离

查看答案

3、 【文件三】类别:电子邮件来电人:绥将领教学管理部部长接收人:郭子明人力资源部部长郭部长:我们前段时间在征询下属学校的教学建议时发现,有一个方面的建议比较集

3、 【文件三】类别:电子邮件来电人:绥将领教学管理部部长接收人:郭子明人力资源部部长郭部长:我们前段时间在征询下属学校的教学建议时发现,有一个方面的建议比较集中,那就是关于学生是否可以在集团内部跨学

查看答案