Senior
Stel een correct inheritance-model voor voor de klassen Button en Input in plaats van het huidige, waarbij Input van Button erft.
sobes.tech AI
Antwoord van AI
Het erven van Input van Button is niet logisch, omdat Input en Button verschillende elementen zijn met verschillende semantiek en gedrag.
Het is beter om een gemeenschappelijke basisklasse te definiëren, bijvoorbeeld UIControl of FormElement, die gemeenschappelijke eigenschappen en methoden bevat voor alle formulier elementen. Vervolgens erven Button en Input hiervan als aparte klassen.
Voorbeeld in TypeScript:
class UIControl {
constructor(public id: string) {}
render() {
// gemeenschappelijke render-methode
}
}
class Button extends UIControl {
click() {
// klik-logica
}
}
class Input extends UIControl {
value: string = '';
setValue(val: string) {
this.value = val;
}
}
Deze aanpak weerspiegelt de werkelijke hiërarchie en voorkomt onjuiste koppelingen tussen klassen.