Continuando Nosso Programa...

Até agora, você estudou a troca de mensagens entre objetos para definir ou recuperar algum atributo, unicamente. Os sistemas OO precisam de métodos mais complexos, que verifiquem a validade dos dados, realizem atualizações em outras entidades, pesquisem em banco de dados, escrevam em arquivos de log, atualizem objetos da interface etc.

Vamos colocar um pouco da complexidade do mundo real no nosso programa?! Vamos lá!

Faremos as seguintes alterações:

  1. Adicionar os métodos ligar(), desligar(), acelerar(), frear() à classe Carro.

    Listagem 6 - Novos métodos para a classe Carro
  2. Vamos adicionar à classe Carro, ainda, um atributo câmbio que indicará qual a “marcha” que o carro está em um dado momento, para tanto, tal atributo irá guardar um valor inteiro de 0 (zero) a 5 (cinco).

    0 - Neutro (ponto morto)

    1 a 5 - marchas

    Listagem 7 - Novo atributo e métodos da classe Carro
  3. Precisamos colocar uma referência do automóvel dentro da classe Pessoa.

    Listagem 8 - Métodos que implementam o relacionamento entre Carro e Pessoa
  4. Vamos adicionar outros métodos à classe Pessoa para interagir (trocar mensagens) com seu carro.

    Listagem 9 - Classe Pessoa recebe métodos para interagir com a classe Carro
  5. Vamos ao Main! Nosso programa precisa:

    1. Criar uma Pessoa;
    2. Criar um Carro e atribuí-lo a essa Pessoa;
    3. Fazer com que a pessoa ligue o carro, troque de marcha, acelere, reduza a velocidade, troque de marcha e desligue o carro.
    Listagem 10 - Programa exemplo para testar o relacionamento entre Carro e Pessoa

O que podemos ver é que o método Main envia uma mensagem para o objeto pessoa, que, por sua vez, manda ou repassa essa mensagem para seu objeto da classe Carro, que executa a ação final desejada, que consiste em guiá-lo. Veja a ilustração a seguir:

Envio de mensagens entre objetos

Versão 5.3 - Todos os Direitos reservados