Private egenskaber ved arv i OOP i JavaScript

Private egenskaber arves ikke. Men en underklasse kan manipulere dem gennem forælderens offentlige metoder. Lad os se på det i praksis. Lad os sige, at vi har følgende forældreklasse med en privat egenskab og dens getter og setter:

javascriptclass User {
  #name;
  
  setName(name) {
    this.#name = name;
  }
  getName() {
    return this.#name;
  }
}

Lad os sige, at følgende underklasse arver fra forælderen:

javascriptclass Student extends User {
  
}

Lad os oprette et objekt af underklassen:

javascriptlet student = new Student;

Lad os bruge forælderens metode for at skrive til dens private egenskab:

javascriptstudent.setName('john');

Lad os bruge forælderens metode for at læse dens private egenskab:

javascriptlet name = student.getName();
console.log(name);
Задание 1

Følgende forældreklasse er givet:

javascriptclass User {
  #name;
  #surn;
  
  setName(name) {
    this.#name = name;
  }
  getName() {
    return this.#name;
  }
  
  setSurn(surn) {
    this.#surn = surn;
  }
  getSurn() {
    return this.#surn;
  }
}

Lav klassen Employee, som skal arve fra denne forælder.

Задание 2

Opret et objekt af klassen Employee og kald de arvede setters og getters.

Задание 3

I klassen Employee skal du lave følgende metode:

javascriptgetFull() {
  return this.#name + ' ' + this.#surn;
}

Vær sikker på, at koden i metoden vil føre til en fejl.