Privaat eienskappe by oorerwing in OOP in JavaScript
Privaat eienskappe word nie geërf nie. Maar 'n afstammeling kan dit manipuleer deur openbare metodes van die ouer. Kom ons kyk hoe dit in die praktyk werk. Gestel ons het die volgende ouerklas met 'n privaat eienskap en sy getter en setter:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
Gestel die volgende afstammeling erf van die ouer:
class Student extends User {
}
Laat ons 'n objek van die afstammeling skep:
let student = new Student;
Laat ons die ouer se metode gebruik om sy privaat eienskap te stel:
student.setName('john');
Laat ons die ouer se metode gebruik om sy privaat eienskap te lees:
let name = student.getName();
console.log(name);
Die volgende ouerklas word gegee:
class User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
Maak 'n klas Employee
wat van hierdie ouer sal erf.
Skep 'n objek van die klas Employee
en roep die geërfde
setters en getters aan.
Maak die volgende metode in die klas Employee:
getFull() {
return this.#name + ' ' + this.#surn;
}
Maak seker dat die kode van die metode 'n fout sal veroorsaak.