Privé-eigenschappen bij overerving in OOP in JavaScript
Privé-eigenschappen worden niet overgeërfd. Maar een nakomeling kan ze manipuleren via publieke methoden van de ouder. Laten we dit in de praktijk bekijken. Stel dat we de volgende ouderklasse hebben met een privé-eigenschap en zijn getter en setter:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Stel dat de volgende nakomeling erft van de ouder:
class Student extends User {
}
Laten we een object van de nakomeling maken:
let student = new Student;
Laten we de methode van de ouder gebruiken om zijn privé-eigenschap in te stellen:
student.setName('john');
Laten we de methode van de ouder gebruiken om zijn privé-eigenschap uit te lezen:
let name = student.getName();
console.log(name);
Gegeven de volgende ouderklasse:
class User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
Maak een klasse Employee,
die zal overerven
van deze ouder.
Maak een object van de klasse Employee
en roep de geërfde
setters en getters aan.
Maak in de klasse Employee
de volgende methode:
getFull() {
return this.#name + ' ' + this.#surn;
}
Controleer of de code van de methode tot een fout leidt.