winnerstate.java

来自「深入浅出设计模式」· Java 代码 · 共 42 行

JAVA
42
字号
package headfirst.proxy.gumball;public class WinnerState implements State {    transient GumballMachine gumballMachine;     public WinnerState(GumballMachine gumballMachine) {        this.gumballMachine = gumballMachine;    } 	public void insertQuarter() {		System.out.println("Please wait, we're already giving you a Gumball");	} 	public void ejectQuarter() {		System.out.println("Please wait, we're already giving you a Gumball");	} 	public void turnCrank() {		System.out.println("Turning again doesn't get you another gumball!");	} 	public void dispense() {		System.out.println("YOU'RE A WINNER! You get two gumballs for your quarter");		gumballMachine.releaseBall();		if (gumballMachine.getCount() == 0) {			gumballMachine.setState(gumballMachine.getSoldOutState());		} else {			gumballMachine.releaseBall();			if (gumballMachine.getCount() > 0) {				gumballMachine.setState(gumballMachine.getNoQuarterState());			} else {          		 	System.out.println("Oops, out of gumballs!");				gumballMachine.setState(gumballMachine.getSoldOutState());			}		}	} 	public String toString() {		return "despensing two gumballs for your quarter, because YOU'RE A WINNER!";	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?