Private egenskaper ved arv i OOP i JavaScript
Private egenskaper arves ikke. Men etterkommeren kan manipulere dem gjennom forelderens offentlige metoder. La oss se på det i praksis. La oss si at vi har følgende forelderklasse med en privat egenskap og dens getter og setter:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
La oss si at følgende etterkommer arver fra forelderen:
class Student extends User {
}
La oss opprette et etterkommerobjekt:
let student = new Student;
La oss bruke forelderens metode for å skrive dens private egenskap:
student.setName('john');
La oss bruke forelderens metode for å lese dens private egenskap:
let name = student.getName();
console.log(name);
Følgende forelderklasse er gitt:
class User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
Lag klassen Employee,
som skal arve
fra denne forelderen.
Opprett et objekt av klassen Employee
og kall de arvede
setterne og getterne.
I klassen Employee, lag
følgende metode:
getFull() {
return this.#name + ' ' + this.#surn;
}
Forsikre deg om at koden til metoden fører til en feil.