← 피드로
Introdução
Assim como funções, construtores podem ter múltiplas assinaturas:
O problema
class Evento {
constructor(id: string, tipo: string, competencia: string) { ... }
// como aceitar também só id e tipo, sem competencia?
}
Enter fullscreen mode Exit fullscreen mode
Solução — overload signatures
class Evento {
id: string;
tipo: string;
competencia: string;
// assinaturas
constructor(id: string, tipo: string);
constructor(id: string, tipo: string, competencia: string);
// implementação
constructor(id: string, tipo: string, competencia: string = "nao-definida") {
this.id = id;
this.tipo = tipo;
this.competencia = competencia;
}
}
new Evento("1", "R-2010"); // ✅ primeira assinatura
new Evento("1", "R-2010", "2024-01"); // ✅ segunda assinatura
Enter fullscreen mode Exit fullscreen mode
추출 본문 · 출처: dev.to · https://dev.to/yuripeixinho/sobrecarga-de-construtor-hkh
답글 남기기