欢迎来到天天文库
浏览记录
ID:38763643
大小:54.00 KB
页数:5页
时间:2019-06-19
《状态模式代码及类图》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、状态模式类图代码publicinterfaceState{publicvoidinsertQuarter();publicvoidejectQuarter();publicvoidturnCrank();publicvoiddispense();}publicclassSoldOutStateimplementsState{GumballMachinegumballMachine;publicSoldOutState(GumballMachinegumballMachine){this.gumballMachine=gumballMachine;}publicvoidinsertQua
2、rter(){System.out.println("Youcan'tinsertedaquarter,themachineissoldout");}publicvoidejectQuarter(){System.out.println("Youcan'tejest,youhaven'tinsertedaquarteryet");}publicvoidturnCrank(){System.out.println("Youturned,buttherearenogumballs");}publicvoiddispense(){5System.out.println("Nogumballd
3、ispensed");}}publicclassSoldStateimplementsState{GumballMachinegumballMachine;publicSoldState(GumballMachinegumballMachine){this.gumballMachine=gumballMachine;}publicvoidinsertQuarter(){System.out.println("Pleasewait,we'realreadygivingyouagumball");}publicvoidejectQuarter(){System.out.println("S
4、orry,youalreadyturnedthecrank");}publicvoidturnCrank(){System.out.println("Turningtwicedoesn'tgetyouanothergunball!");}publicvoiddispense(){gumballMachine.releaseBall();if(gumballMachine.getCount()>0){gumballMachine.setState(gumballMachine.getNoQuarterState());}else{System.out.println("Oops,outo
5、fgumballs!");gumballMachine.setState(gumballMachine.getSoldOutState());}}}publicclassHasQuarterStateimplementsState{GumballMachinegumballMachine;publicHasQuarterState(GumballMachinegumballMachine){this.gumballMachine=gumballMachine;}publicvoidinsertQuarter(){System.out.println("Youcan'tinserteda
6、ntherquarter");}publicvoidejectQuarter(){System.out.println("Quarterreturned");gumballMachine.setState(gumballMachine.getNoQuarterState());}publicvoidturnCrank(){System.out.println("Youturned...");gumballMachine.setState(gumballMachine.getSoldState());}publicvoiddispense(){System.out.println("No
7、gumballdispensed");}}publicclassNoQuarterStateimplementsState{GumballMachinegumballMachine;publicNoQuarterState(GumballMachinegumballMachine){this.gumballMachine=gumballMachine;5}publicvoidinsertQuarter(){System.out.println(
此文档下载收益归作者所有