1
resposta

[Dúvida] Construtor, Getter e Setter

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

1 resposta

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.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software