Você está na página 1de 1

A vari�vel de inst�ncia dono recebeu esse nome apenas para n�o coincidir com o nome

da classe, mas n�o teria nenhum problema se a vari�vel tivesse o nome proprietario.
Neste caso, achamos melhor os nomes n�o coincidirem para voc� entender que o
nome da classe n�o tem nada haver com o nome do atributo.
O que acabamos de fazer foi uma composi��o de objetos. Composi��o � uma forma
de combinar objetos simples em objetos mais complexos. Essa t�cnica traz grandes
benef�cios para a reutiliza��o de objetos e legibilidade do c�digo, al�m do
c�digofonte expressar melhor o que est� acontecendo, de acordo com o mundo real.
Normalmente, podemos dizer que objetos compostos fazem parte de um
relacionamento do tipo "tem um". Por exemplo, podemos dizer que o carro tem um
propriet�rio.
Olhando para a classe Proprietario, poder�amos ainda pensar em criar outra classe
chamada Endereco para incluir o logradouro, bairro e cidade e a classe Proprietario
incluiria um atributo do tipo Endereco. N�o h� nada de errado em fazer isso, mas
vamos deixar como est�, pois no momento n�o faz muito sentido para nossos
exemplos.
Agora vamos instanciar um carro e um propriet�rio dentro do m�todo main:
Proprietario dono1 = new Proprietario();
dono1.nome = "Jo�o da Silva";
dono1.cpf = "000.000.000-00";
dono1.idade = 25;
dono1.logradouro = "Rua Jo�o Pinheiro, 10";
dono1.bairro = "Centro";
dono1.cidade = "Uberl�ndia";
Carro meuCarro = new Carro();
meuCarro.anoDeFabricacao = 2011;
meuCarro.cor = "Prata";
meuCarro.fabricante = "Fiat";
meuCarro.modelo = "Palio";
meuCarro.tipoCombustivel = "Bicombust�vel";
meuCarro.valorDeMercado = 30000;
meuCarro.dono = dono1; // atribu�mos o dono do carro
Veja no exemplo acima que instanciamos um Proprietario e depois um Carro
isoladamente, e apenas na �ltima linha que atribu�mos dono1 � vari�vel dono de