Cursos / Redes de Computadores / Programação Orientada a Objetos / Aula

arrow_back Aula 02 - Classes, atributos e métodos

Adicionando Comportamento

Os objetos das classes que criamos, Carro e Pessoa, precisam não só de suas características, mas também de comportamentos que expressem as ações possíveis de serem executadas, pois um carro precisa oferecer funções para que as pessoas os manobrem. E pessoas, por sua vez, precisam desempenhar suas atividades, como andar, correr, estudar etc. Percebam que falamos da capacidade dinâmica do objeto através dos métodos que possuem.

Vamos dar ações aos nossos carros! Veja a Listagem 6:

Listagem 6 - Classe Carro com métodos

Observe que adicionamos novas linhas ao código, agora com dois métodos setCor(String cor) e getCor(). Esses métodos servem, respectivamente, para definir e recuperar o valor do atributo “cor”. Situação onde levaríamos o nosso carro a uma equipadora para modificar a sua cor. Atente para o fato de que os atributos são alterados por métodos da sua classe.

Veja que adicionamos a palavra this antes do atributo cor. Essa palavra-chave representa a instância da classe Carro e particularmente neste caso está sendo usada para corrigir o problema de ambiguidade gerado pela definição de um parâmetro com o mesmo nome do atributo da classe no método setCor(String cor). Ao se usar a palavra cor dentro deste método, como saberíamos se estamos referenciando o atributo da classe ou o parâmetro do método? Para solucionar esse problema, usa-se a palavra reservada this antes do nome cor, informando ao compilador que estamos referenciando o atributo da classe e não o parâmetro do método.

Curiosidade!

Dentro de um método, quando há ambiguidade de nome de variáveis (entre o atributo da classe e o parâmetro do método), o compilador sempre dá prioridade aos parâmetros. Em outras palavras, se não tivéssemos usado o this, o compilador iria achar que estávamos referenciando ao parâmetro do método e assim o atributo da classe nunca seria atualizado. Cuidado com isso! Essa é uma fonte muito comum de erros na programação em Java. Uma boa prática de codificação em Java é sempre usar a palavra this antes de atributos da classe, mesmo quando não há ambiguidade.

Versão 5.3 - Todos os Direitos reservados