Proprietăți private la moștenire în OOP în JavaScript

Proprietățile private nu sunt moștenite. Dar descendentul le poate manipula prin metodele publice ale părintelui. Să vedem în practică. Să presupunem că avem următoarea clasă-părinte cu o proprietate privată și getterul și setterul acesteia:

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

Să presupunem că din părinte moștenește următorul descendent:

javascriptclass Student extends User {
  
}

Să creăm un obiect al descendentului:

javascriptlet student = new Student;

Să folosim metoda părintelui pentru a scrie în proprietatea sa privată:

javascriptstudent.setName('john');

Să folosim metoda părintelui pentru a citi proprietatea sa privată:

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

Este dată următoarea clasă-părinte:

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

Creați clasa Employee, care va moșteni de la acest părinte.

Задание 2

Creați un obiect al clasei Employee și apelați settere și gettere moștenite.

Задание 3

În clasa Employee faceți următoarea metodă:

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

Asigurați-vă că codul metodei va duce la o eroare.