Senior
Proposez un modèle d'héritage correct pour les classes Button et Input au lieu du modèle actuel, où Input étend Button.
sobes.tech IA
Réponse de l'IA
L’héritage de Input de Button n’est pas logique, car Input et Button sont des éléments différents avec des sémantiques et comportements différents.
Il est plus approprié de définir une classe de base commune, par exemple, UIControl ou FormElement, qui contient des propriétés et méthodes communes à tous les éléments du formulaire. Ensuite, Button et Input en héritent en tant que classes séparées.
Exemple en TypeScript:
class UIControl {
constructor(public id: string) {}
render() {
// méthode de rendu commune
}
}
class Button extends UIControl {
click() {
// logique du clic
}
}
class Input extends UIControl {
value: string = '';
setValue(val: string) {
this.value = val;
}
}
Cette approche reflète la hiérarchie réelle et évite les mauvaises connexions entre classes.