3.2. Mensagens e Estados

O estado no qual o objeto se encontra pode afetar como ele responde à mensagem recebida, ou seja, as alterações na condição de um objeto podem ditar mudanças no seu comportamento. Por exemplo, quando a atual condição (estado) de uma conta corrente está negativa, a conta corrente responde de uma forma diferente do que quando a conta corrente tem um saldo positivo de crédito, ou seja, os cheques são rejeitados (em vez de pagar), saques são bloqueados, transferências bancárias são impossibilitadas (ou o banco pode permitir a operação e cobrar uma taxa de juros).

Veja outro exemplo: se você pressionar o acelerador em seu carro enquanto o carro está ligado, o motor acelera. Se você pressionar o acelerador quando o carro está desligado, o motor não faz nada. De forma oposta, uma mensagem idêntica pode executar operações distintas em um objeto, dependendo do estado em que ele se encontre. Imagine uma TV com um botão de “power”, pressionar o “power” quando a TV está ligada, desliga a TV; pressionar o “power” quanto a TV está desligada, liga a TV.

Diagrama de estado de um interruptor de TV

Levando em consideração que um mesmo evento faz com que ocorram dois comportamentos diferentes em um objeto, então a resposta que o objeto executa é a relação entre a mensagem e o estado do objeto.

Resposta = Estado + Evento

Copyright © 2014 AIEC.