Überschreiben von Elternmethoden in OOP in JavaScript
Eine Kindklasse kann eine Methode des Elternteils überschreiben, indem sie eine Methode mit dem gleichen Namen erstellt. Schauen wir uns ein Beispiel an. Nehmen wir an, wir haben die folgende Elternklasse:
class User {
setName(name) {
this.name = name;
}
getName() {
return this.name;
}
}
Lassen Sie uns in der Kindklasse eine gleichnamige Methode erstellen:
class Student extends User {
setName(name) {
}
}
In der Regel wird das Überschreiben von Elternmethoden benötigt, um das Verhalten dieser Methode zu ändern oder zu erweitern. Fügen wir in unserem Fall eine Überprüfung der Namenlänge hinzu:
class Student extends User {
setName(name) {
if (name.length > 0) {
this.name = name;
} else {
throw new Error('student name error');
}
}
}
Lassen Sie uns sicherstellen, dass genau die überschriebene Methode aufgerufen wird. Erstellen wir zuerst ein Objekt der Kindklasse:
let student = new Student;
Rufen wir nun unsere Methode auf und übergeben ihr einen gültigen Wert:
student.setName('john');
Rufen wir nun die Methode auf und übergeben ihr einen ungültigen Wert. Als Ergebnis werden wir den ausgegebenen Fehler in der Konsole sehen:
student.setName(''); // Fehler
Erstellen Sie in der Klasse User
einen Getter und Setter für das Alter.
Überschreiben Sie in der Klasse Employee
den Setter für das Alter und implementieren
Sie darin eine Überprüfung, dass das Alter
zwischen 18 und 65 Jahren liegt.