Atributo do tipo da classe

2 respostas
W

Boa noite pessoal, espero que possam me ajudar.

quero saber qual o motivo de criarmos um atributo do tipo da Classe, por exemplo:

public class Banco {

private String nome;
private int numero;

//construtores, set's/get's etc..

}

sendo que na classe Agencia por exemplo eu declaro:

public class Agencia {

private String numero;
private Banco banco;

//construtores, set's/get's etc..

}

O que quer dizer se eu declarar um atributo do tipo da Classe como Banco banco?? o que posso trabalhar em cima dele de interessante?

Muito obrigado pessoal…

abs!

:slight_smile:

2 Respostas

alxdre.pestana

Jovem, boa noite…

Vc precisa entender o conceito de orientação a objetos para esclarecer esta duvida sua…
Quando vc declara um objeto em outra classe você pode utilizar este objeto para recepção de diversos valores/atributos neste objeto… ou então enviar este objeto com os dados colhidos de um banco de dados, etc…

Já pensou… vc criar um objeto com todos os dados de um cliente e envia este objeto pela rede serializado para carregar em uma outra aplicação… :wink:

Comece a pensar nisso…

Abraço

lucas_guj

Eu entendo isso como composição ou relacionamento tem um, quando uma classe pode ter referencias a objetos de outra classe como membros.

Vê se isso ajuda:

"Suponha que seu instrutor peça para você escrever uma aplicação Java que modele um carro. De acordo com as especificações dele, esta aplicação deve declarar uma classe chamada Motor (que modela o motor do carro) e uma classe chamada Carro (que modela carros). Finalmente, a aplicação deve declarar uma classe chamada DemonstracaoCarro, que possua uma função main a fim de executar o programa.

Mas afinal, neste caso, o que é que o método main faz realmente? Neste caso o método main, por ser um método de classe especial, fica encarregado de criar objetos do tipo Carro (que possuam objetos do tipo Motor em cada um deles), colocar informações apropriadas em cada objeto (via chamadas a seus construtores) e (para cada carro) imprimir as informações de cada carro. Depois de um tempo escrevendo essa aplicação, você deve terminar com o seguinte código-fonte:

class Motor                                                                  
{
   private String tipo;                                                      
   Motor(String tipo)                                                        
   {                                                                            
      this.tipo = tipo;                                                      
   }
}
class Carro                                                                  
{
   private String marca;                                                     
   private String modelo;                                                    
   private String fabricante;                                                

   Carro(String marca, String modelo, String fabricante)                     
   {                                                                            
      this.marca = marca;                                                    
      this.modelo = modelo;                                                  
      this.fabricante = fabricante;                                          
   }

   public String retornaMarca() { return marca; }                            
   public String retornaModelo() { return modelo; }                          
   public String retornaFabricante() { return fabricante; }                  
}
class DemostracaoCarro                                                       
{
   public static void main(String listaDeArgumentos[]){                      
      Motor m1 = new Motor(?3.8L V6?);                                       
      Carro c1 = new Carro(?Mustang?, ?Conversível?, ?Ford?);

      Motor m2 = new Motor(?Zetec Roçam 1.0?);                               
      Carro c2 = new Carro(?Ka?, ?Popular?, ?Ford?);

      System.out.println( c1.retornaFabricante() + ? ? +                     
                          c1.retornaMarca()      + ? ? +                     
                          c1.retornaModelo()     + ? ? + m1.retornaTipo() ); 

      System.out.println( c2.retornaFabricante() + ? ? +                     
                          c2.retornaMarca()      + ? ? +                     
                          c2.retornaModelo()     + ? ? + m2.retornaTipo() ); 
}

Muito bem! O código anterior segue as especificações e requisitos solicitados pelo instrutor. Por outro lado, esse código apresenta um problema de modelagem importante: as classes Carro e Motor estão desconectadas ou desacopladas uma da outra.

No mundo real, é comum dizer que um carro possui um motor, assim como pneus e outros itens. Em outras palavras, vários itens, incluindo um motor, compõem um carro. Em contraste, o código anterior mostra que um carro não compõe um carro e, neste caso, é possível criar objetos do tipo Carro sem um motor associado ? uma situação estranha. Você já imaginou alguém comprando um carro sem motor!? O erro de se criar um novo Carro sem um Motor resulta do fato das duas classes estarem desconectadas. A solução para esse erro consiste em conectar estas duas classes. É exatamente esse o assunto desta seção: composição de objetos.
"

fonte: http://www.leandro.wives.nom.br/java/oojava.htm

Criado 24 de outubro de 2011
Ultima resposta 24 de out. de 2011
Respostas 2
Participantes 3