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ä:
javascriptclass User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Olkoon vanhemmasta perii seuraava lapsiluokka:
javascriptclass Student extends User {
}
Luodaan lapsiluokan olio:
javascriptlet student = new Student;
Käytetään vanhemman metodia tallentaaksemme sen yksityisen ominaisuuden:
javascriptstudent.setName('john');
Käytetään vanhemman metodia lukeaksemme sen yksityisen ominaisuuden:
javascriptlet name = student.getName();
console.log(name);
Задание 1
Annettu seuraava vanhempiluokka:
javascriptclass 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.
Задание 2
Luo luokan Employee olio
ja kutsu perittyjä
settereitä ja gettereitä.
Задание 3
Luokassa Employee tee
seuraava metodi:
javascriptgetFull() {
return this.#name + ' ' + this.#surn;
}
Varmista, että metodin koodi johtaa virheeseen.