Beschermde eigenschappen in OOP in JavaScript
Laten we ook beschermde eigenschappen introduceren. We beginnen hun namen ook met een underscore. Laten we een voorbeeld bekijken. We maken een ouderklasse met een beschermde eigenschap die leeftijd bevat:
class User {
setAge(age) {
this._age = age;
}
getAge() {
return this._age;
}
}
In de subklasse maken we een methode, die de leeftijd met één verhoogt:
class Student extends User {
incAge() {
this._age++;
}
}
Herschrijf de volgende code via een beschermde eigenschap:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
class Employee extends User {
setName(name) {
if (name.length > 0) {
this.#name = name;
}
}
}