Senior
Proponha um modelo de herança correto para as classes Button e Input em vez do atual, onde Input estende Button.
sobes.tech IA
Resposta da IA
A herança de Input de Button não é lógica, pois Input e Button são elementos diferentes com semânticas e comportamentos distintos.
É mais correto definir uma classe base comum, por exemplo, UIControl ou FormElement, que contenha propriedades e métodos comuns a todos os elementos do formulário. Depois, Button e Input herdam dela como classes separadas.
Exemplo em TypeScript:
class UIControl {
constructor(public id: string) {}
render() {
// método comum de renderização
}
}
class Button extends UIControl {
click() {
// lógica do clique
}
}
class Input extends UIControl {
value: string = '';
setValue(val: string) {
this.value = val;
}
}
Essa abordagem reflete a hierarquia real e evita conexões incorretas entre classes.