Beskyttede egenskaber i OOP i JavaScript
Lad os også introducere beskyttede egenskaber. Vi vil også starte deres navne med en understregning. Lad os se på et eksempel. Lad os oprette en forælderklasse med en beskyttet egenskab, der indeholder alder:
class User {
setAge(age) {
this._age = age;
}
getAge() {
return this._age;
}
}
I en underklasse laver vi en metode, der forøger alderen med en:
class Student extends User {
incAge() {
this._age++;
}
}
Omskriv følgende kode til at bruge en beskyttet egenskab:
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;
}
}
}