Senior
Schlagen Sie ein korrektes Vererbungsmodell für die Klassen Button und Input vor, anstelle des aktuellen, bei dem Input von Button erbt.
sobes.tech KI
Antwort von AI
Die Vererbung von Input von Button ist nicht logisch, da Input und Button unterschiedliche Elemente mit unterschiedlicher Semantik und Verhalten sind.
Es ist sinnvoller, eine gemeinsame Basisklasse zu definieren, z.B. UIControl oder FormElement, die gemeinsame Eigenschaften und Methoden für alle Formularelemente enthält. Dann erben Button und Input von dieser Klasse als separate Klassen.
Beispiel in TypeScript:
class UIControl {
constructor(public id: string) {}
render() {
// gemeinsame Render-Methode
}
}
class Button extends UIControl {
click() {
// Klick-Logik
}
}
class Input extends UIControl {
value: string = '';
setValue(val: string) {
this.value = val;
}
}
Dieser Ansatz spiegelt die tatsächliche Hierarchie wider und vermeidet falsche Verbindungen zwischen Klassen.