Propriétés protégées en POO en JavaScript
Introduisons également les propriétés protégées. Nous commencerons également leurs noms par un trait de soulignement. Regardons un exemple. Créons une classe parent avec une propriété protégée contenant l'âge :
class User {
setAge(age) {
this._age = age;
}
getAge() {
return this._age;
}
}
Dans la classe enfant, créons une méthode augmentant l'âge de un :
class Student extends User {
incAge() {
this._age++;
}
}
Réécrivez le code suivant en utilisant une propriété protégée :
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;
}
}
}