Частни методи при наследяване в ООП в JavaScript

Частните методи не се наследяват. Това е направено специално, за да не се нарушава енкапсулацията. Нека да разгледаме пример. Нека имаме следния родителски клас с частен метод:

javascriptclass User {
  setName(name) {
    this.name = name;
  }
  getName() {
    return this.#capeFirst(this.name);
  }
  
  #capeFirst(str) {
    return str[0].toUpperCase() + str.slice(1);
  }
}

Нека от родителския клас наследява следният клас:

javascriptclass Student extends User {
  setSurn(surn) {
    this.surn = surn;
  }
  getSurn() {
    return this.surn;
  }
}

Нека потомъкът иска да използва частния метод на родителя. JavaScript няма да позволи това и ще даде грешка:

javascriptclass Student extends User {
  setSurn(surn) {
    this.surn = surn;
  }
  getSurn() {
    return this.#capeFirst(this.surn); // ще даде грешка
  }
}
Задание 1

Опитайте се в класа Employee да използвате частния метод на родителя.