Pessoar boa noite, tudo bem?
Fiquei com uma duvida onde a Jaque e Paulo trazem um excelente ponto sobre a questão de uso do Setter quando temos um construtor, queria um exemplo pratico
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Pessoar boa noite, tudo bem?
Fiquei com uma duvida onde a Jaque e Paulo trazem um excelente ponto sobre a questão de uso do Setter quando temos um construtor, queria um exemplo pratico
Olá Matheus.
Tudo bem?
Entendo que você quer um exemplo prático sobre o uso de setters quando já temos um construtor. Vamos lá!
Imagine que você está desenvolvendo uma classe Carro em Java, que tem atributos como modelo, ano e cor. Você pode usar um construtor para inicializar esses valores logo quando um objeto Carro é criado. Aqui está um exemplo:
public class Carro {
private String modelo;
private int ano;
private String cor;
// Construtor que inicializa todos os atributos
public Carro(String modelo, int ano, String cor) {
this.modelo = modelo;
this.ano = ano;
this.cor = cor;
}
// Getters
public String getModelo() {
return modelo;
}
public int getAno() {
return ano;
}
public String getCor() {
return cor;
}
// Setters
public void setModelo(String modelo) {
this.modelo = modelo;
}
public void setAno(int ano) {
this.ano = ano;
}
public void setCor(String cor) {
this.cor = cor;
}
}
Neste exemplo, o construtor é usado para inicializar o carro com um modelo, ano e cor específicos assim que ele é criado. Os métodos setters são úteis se você precisar modificar algum desses atributos depois que o objeto já foi criado. Por exemplo, se depois de criar um carro, você decidir que quer mudar a cor dele, você pode fazer isso facilmente com o método setCor.
Carro meuCarro = new Carro("Fusca", 1980, "Azul");
meuCarro.setCor("Vermelho"); // Mudando a cor do carro
Neste caso, mesmo que o construtor inicialize a cor como "Azul", o método setter permite que você mude para "Vermelho" mais tarde. Isso oferece flexibilidade para alterar o estado do objeto após sua inicialização.
Com o construtor, ajuda na hora de instanciar a classe, já vai pedir esses atributos passados do construtor.
Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.