O padrão "state" permite que um objecto altere o seu comportamento quando o seu estado muda.
O padrão state tem a seguinte estrutura de classes: