Tenho uma classeB que quando instanciada ela precisa de dados de uma classeA para preencher alguns atributos seus.
A boa pratica ensina que é melhor:
Passar um objetoA para o construtor de B?
public class ClasseB {
private int item1;
private String item2;
// ...
public ClasseB(ClasseA objA){
this.item1 = objA.getCode();
this.item2 = objA.getNome();
}
ou usar setters?
//...
ClasseB objB = new ClasseB();
objB.setItem1(objA.getCode());
objB.setItem2(objA.getNome());
Desde já agradeço.
[/quote]
A diferença básica é que passando pelo construtor você tem um objeto imutavél enquanto usando setters, não.
Um exemplo disso é a classe String. Vai de sua análise, conforme o leonardobhbr ilustrou.