Privaatsed omadused pärimisel OOP-s JavaScriptis
Privaatseid omadusi ei pärita. Kuid järglane saab nendega manipuleerida läbi vanema avalike meetodite. Vaatame seda praktikas. Olgu meil järgmine vanemaklass privaatse omaduse ja selle getteri ja setteriga:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Olgu, et vanemast pärineb järgmine järglane:
class Student extends User {
}
Loome järglase objekti:
let student = new Student;
Kasutame vanema meetodit, et kirjutada selle privaatne omadus:
student.setName('john');
Kasutame vanema meetodit, et lugeda selle privaatne omadus:
let name = student.getName();
console.log(name);
Antud on järgmine vanemaklass:
class User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
Tehke klass Employee,
mis pärineb
sellelt vanemalt.
Looge klassi Employee objekt
ja kutsuge päritud
setterid ja getterid.
Klassis Employee tehke
järgmine meetod:
getFull() {
return this.#name + ' ' + this.#surn;
}
Veenduge, et meetodi kood viib veani.