Private egenskaber ved arv i OOP i JavaScript
Private egenskaber arves ikke. Men en underklasse kan manipulere dem gennem forælderens offentlige metoder. Lad os se på det i praksis. Lad os sige, at vi har følgende forældreklasse med en privat egenskab og dens getter og setter:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Lad os sige, at følgende underklasse arver fra forælderen:
class Student extends User {
}
Lad os oprette et objekt af underklassen:
let student = new Student;
Lad os bruge forælderens metode for at skrive til dens private egenskab:
student.setName('john');
Lad os bruge forælderens metode for at læse dens private egenskab:
let name = student.getName();
console.log(name);
Følgende forældreklasse er givet:
class User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
Lav klassen Employee,
som skal arve
fra denne forælder.
Opret et objekt af klassen Employee
og kald de arvede
setters og getters.
I klassen Employee skal du lave
følgende metode:
getFull() {
return this.#name + ' ' + this.#surn;
}
Vær sikker på, at koden i metoden vil føre til en fejl.