Propriedades protegidas em POO em JavaScript
Vamos também introduzir propriedades protegidas. Vamos também começar seus nomes com sublinhado. Vejamos um exemplo. Vamos criar uma classe pai com uma propriedade protegida contendo a idade:
class User {
setAge(age) {
this._age = age;
}
getAge() {
return this._age;
}
}
Na classe filha, vamos criar um método que incrementa a idade em um:
class Student extends User {
incAge() {
this._age++;
}
}
Reescreva o seguinte código usando uma propriedade protegida:
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;
}
}
}