Ajuda com Dúvida Básica de Java

Java

19/08/2017

Olá a todos,

Estou com uma dúvida simples de Java, e gostaria de uma opinião. Para um modelo como o a seguir, como eu poderia de forma fácil setar o valores da associação entre as duas classes?

Tipo assim:

public class Carro{
  List<Peças> peças;
}

public class Peças{
  Carro carro;
}

Qual a melhor estratégia para criar o carro? Crio primeiro as peças ou primeiro o Carro? E eu tenho que em cada peça setar o valor do Carro? Por Exemplo:

Situação 1:

Peça peça1 = new Peça();
Peça peça2 = new Peça();
Carro a = new Carro();
a.adicionaPeca(peça1);
a.adicionaPeca(peça2);
peça1.setCarro(a);
peça2.setCarro(a);


Ou 

Situação 2:

Carro a = new Carro();
Peça peça1 = new Peça();
peça1.setCarro(a);
Peça peça2 = new Peça();
peça3.setCarro(a);
a.adicionaPeca(peça1);
a.adicionaPeca(peça2);


Resumindo.. tem alguma forma fácil de eu não precisar setar o valor objeto por objeto?
Hugo Kuribayashi

Hugo Kuribayashi

Curtidas 0

Melhor post

Santos

Santos

21/08/2017

Opa Hugo, beleza?

A melhor solução aí é a primeira.

Só que você não precisa setar a peça ao carro depois de ter adicionado, pois o relacionamento já foi feito quando você adicionou as peças ao carro...
GOSTEI 1

Mais Respostas

Hugo Kuribayashi

Hugo Kuribayashi

19/08/2017

Opa Hugo, beleza?

A melhor solução aí é a primeira.

Só que você não precisa setar a peça ao carro depois de ter adicionado, pois o relacionamento já foi feito quando você adicionou as peças ao carro...


Fagner,

Muito Obrigado!

Porém neste caso, eu não tenho visibilidade dupla na associação em questão correto? Pois apenas o Carro vê as peças e não vice-versa. Seria isso?
GOSTEI 1
Santos

Santos

19/08/2017

Mas qual seu objetivo nesse caso?

Porque se você quiser buscar quais peças o carro A possui, é possível.

Agora se você quiser buscar quais carros possuem a peça A, aí você teria que adicionar uma chave primária à peça e buscar por todos os carros que possuem aquela peça...
GOSTEI 0
POSTAR