package state;
/**
* 状态模式
* @author Administrator
*
*/
public interface RiceState {
/**
* 取的状态
*/
public void showState();
}
package state;
public class FruitState implements RiceState {
@Override
public void showState() {
System.out.println("this is a fruit state");
}
}
package state;
public class MeetState implements RiceState{
@Override
public void showState() {
System.out.println("this is a meet state");
}
}
package state;
import java.util.HashMap;
import java.util.Map;
public class Eat {
private RiceState state;
private Map<String,RiceState> stateMap = new HashMap<String, RiceState>();
public void addState(String name,RiceState state){
stateMap.put(name, state);
}
public void getState(String name){
state = stateMap.get(name);
}
public void showState(){
state.showState();
}
}
package state;
public class StateMain {
public static void main(String[] args) {
Eat eat = new Eat();
eat.addState("fruit", new FruitState());
eat.addState("meet", new MeetState());
eat.getState("fruit");
eat.showState();
eat.getState("meet");
eat.showState();
}
}