Προστατευμένες Ιδιότητες στην OOP στην JavaScript
Εισάγουμε επίσης και προστατευμένες ιδιότητες. Θα ξεκινάμε επίσης τα ονόματά τους με υπογράμμιση. Ας δούμε ένα παράδειγμα. Ας φτιάξουμε μια γονική κλάση με μια προστατευμένη ιδιότητα, που περιέχει την ηλικία:
class User {
setAge(age) {
this._age = age;
}
getAge() {
return this._age;
}
}
Στην παράγωγη κλάση ας φτιάξουμε μια μέθοδο, που αυξάνει την ηλικία κατά μία μονάδα:
class Student extends User {
incAge() {
this._age++;
}
}
Ξαναγράψτε τον ακόλουθο κώδικα χρησιμοποιώντας προστατευμένη ιδιότητα:
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;
}
}
}