Boa tarde, estou com dúvida sobre o funcionamento do construtor ao delegar para outros construtores. Como funciona?
Boa tarde, estou com dúvida sobre o funcionamento do construtor ao delegar para outros construtores. Como funciona?
Oi Robert, tudi bem?
A delegação de construtores é um recurso que permite a um construtor chamar outro construtor na mesma classe, evitando a duplicação de código. Essa prática é muito útil quando você tem múltiplos construtores com parâmetros diferentes, mas que compartilham uma parte do código de inicialização.
Por exemplo, suponha que você esteja trabalhando com uma linguagem de programação como C++ ou Java, que suportam esse recurso.
public class Pessoa {
private String nome;
private int idade;
// Construtor principal
public Pessoa(String nome, int idade) {
this.nome = nome;
this.idade = idade;
}
// Delegando construtor
public Pessoa(String nome) {
this(nome, 0); // Delega para o construtor principal
}
}
Aqui o construtor Pessoa(String nome) delega para o construtor principal Pessoa(String nome, int idade) usando this(nome, 0). Isso significa que se você criar uma instância de Pessoa apenas com o nome, ele automaticamente chamará o outro construtor e definirá a idade como 0.
Esse recurso ajuda a manter o código limpo e reduz a possibilidade de erros, pois você não precisa repetir a lógica de inicialização em cada construtor.
Um abraço e bons estudos.