Yksityiset ominaisuudet perinnässä OOP:ssa JavaScriptissä
Yksityisiä ominaisuuksia ei periydy. Mutta lapsiluokka voi manipuloida niitä vanhemman julkisten metodien kautta. Katsotaan käytännössä. Olkoon meillä seuraava vanhempiluokka yksityisellä ominaisuudella ja sen getterillä ja setterillä:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Olkoon vanhemmasta perii seuraava lapsiluokka:
class Student extends User {
}
Luodaan lapsiluokan olio:
let student = new Student;
Käytetään vanhemman metodia tallentaaksemme sen yksityisen ominaisuuden:
student.setName('john');
Käytetään vanhemman metodia lukeaksemme sen yksityisen ominaisuuden:
let name = student.getName();
console.log(name);
Annettu seuraava vanhempiluokka:
class User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
Tee luokka Employee,
joka perii
tästä vanhemmasta.
Luo luokan Employee olio
ja kutsu perittyjä
settereitä ja gettereitä.
Luokassa Employee tee
seuraava metodi:
getFull() {
return this.#name + ' ' + this.#surn;
}
Varmista, että metodin koodi johtaa virheeseen.