Privātās īpašības mantojumā OOP JavaScript
Privātās īpašības netiek mantotas. Bet pēctecis var tās manipulēt caur vecāka publiskajām metodēm. Apskatīsim to praksē. Pieņemsim, ka mums ir šāda vecāku klase ar privātu īpašību un tās getter un setter:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Pieņemsim, ka no vecāka manto šāds pēctecis:
class Student extends User {
}
Izveidosim pēcteča objektu:
let student = new Student;
Izmantosim vecāka metodi, lai ierakstītu tā privāto īpašību:
student.setName('john');
Izmantosim vecāka metodi, lai nolasītu tā privāto īpašību:
let name = student.getName();
console.log(name);
Dota šāda vecāku klase:
class User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
Izveidojiet klasi Employee,
kura mantos
no šī vecāka.
Izveidojiet klases Employee
objektu un izsauciet mantotās
setter un getter.
Klasē Employee izveidojiet
šādu metodi:
getFull() {
return this.#name + ' ' + this.#surn;
}
Pārliecinieties, ka koda metode novedīs pie kļūdas.