2928. Design Pattern - State
State Pattern


Behavioral Pattern: State Pattern.

1. State Pattern

The State pattern allows an object to change its behavior when its internal state changes.

2. Example

2.1 State

public interface State { public void doAction(Context context); } public class StartState implements State { public void doAction(Context context) { System.out.println("Player is in start state"); context.setState(this); } public String toString(){ return "Start State"; } } public class StopState implements State { public void doAction(Context context) { System.out.println("Player is in stop state"); context.setState(this); } public String toString(){ return "Stop State"; } } 

2.2 Context

public class Context { private State state; public Context(){ state = null; } public void setState(State state){ this.state = state; } public State getState(){ return state; } } 

Output

Player is in start state Start State Player is in stop state Stop State 

3. Source Files

4. References