1
resposta

[Dúvida] Para que ter mais de um construtor em uma classe?

Queria saber qual o motivo e cenários que é vantajoso ter mais de um construtor em uma classe Java?

1 resposta

Fala Gabriel, tudo certo?

A sobrecarga de construtores é bem útil justamente quando queremos que um objeto possa ser criado de maneiras diferentes, por exemplo vamos imaginar uma classe Pessoa com os seguintes atributos:

class Pessoa{

private String nome;
private String cpf;
private String telefone;
private String endereco;
}

Mas que na verdade o campo telefone é opcional. Sendo obrigatórios todos os outros. Nesse caso, podemos utilizar dois construtores:

// um que recebe todos os atributos

public Pessoa(String nome, String cpf, String telefone, String endereco){
    this.nome = nome;
    this.cpf = cpf;
    this.telefone = telefone;
    this.endereco = endereco;
}

// e um que não recebe o telefone

public Pessoa(String nome, String cpf, String endereco){
    this.nome = nome;
    this.cpf = cpf;
    this.endereco = endereco;
}

É claro que em uma situação do mundo real vão existir verificações de entrada e tudo mais, mas o foco central é que o objeto pode ser iniciado tendo ou não telefone e nesse caso nós poderíamos tratar isso de duas maneiras: com um novo construtor, que não recebe esse atributo, ou passando null para o atributo endereco no construtor.

Em geral, a sobrecarga de construtor e de métodos serve para quando queremos executar diferentes trechos de código baseado no tipo de parâmetro que o método recebe.

Em caso de dúvidas, estou à disposição.

Um grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!