Privé-eigenschappen bij overerving in OOP in JavaScript

Privé-eigenschappen worden niet overgeërfd. Maar een nakomeling kan ze manipuleren via publieke methoden van de ouder. Laten we dit in de praktijk bekijken. Stel dat we de volgende ouderklasse hebben met een privé-eigenschap en zijn getter en setter:

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

Stel dat de volgende nakomeling erft van de ouder:

javascriptclass Student extends User {
  
}

Laten we een object van de nakomeling maken:

javascriptlet student = new Student;

Laten we de methode van de ouder gebruiken om zijn privé-eigenschap in te stellen:

javascriptstudent.setName('john');

Laten we de methode van de ouder gebruiken om zijn privé-eigenschap uit te lezen:

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

Gegeven de volgende ouderklasse:

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

Maak een klasse Employee, die zal overerven van deze ouder.

Задание 2

Maak een object van de klasse Employee en roep de geërfde setters en getters aan.

Задание 3

Maak in de klasse Employee de volgende methode:

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

Controleer of de code van de methode tot een fout leidt.