State (Design Pattern)

State Pattern: Allow an object to alter its behavior when its internal state changes. The object will appear to change its class.

References

Online Referencdes

Head first book:

pg. 381 in Head First Design Patterns 2nd Ed.

Example code: head first design patterns state pattern