Bom dia a todos.
Para esclarecer bem a dúvida, um código básico e bem simples de entender.
Exemplo 1class Dog {
private String name;
public Dog(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
}
Agora com o modelo de set.
Exemplo 2:class Dog {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
Bom, uma diferença óbvia nesse caso é que no exemplo do construtor só posso setar o campo name via construtor e no exemplo 2 via set.
Ambos obrigam que você tenha uma instancia do Objeto, nisso, não se altera.
Eu não gosto do exemplo 1 quando temos muitos atributos, o que eu diria que acima de 4 são muitos já. Passa a ter um construtor longo e etc, mas isso é questão minha, particular. Por isso, alguém saberia me explicar no Java se existe uma diferença técnica entre eles? Desempenho, qualidade de código, entre outros...
Talvez, em determinadas situações um exemplo se aplique melhor que o outro, só não consigo enxergar tal cenário.
Bom, é isso. Espero ter sido claro.
O questionamento é porque já vi ambos modelos sendo aplicados, seja em sistemas e/ou exemplos em livros entre outros.
Abraços a todos.