Приватни методи при наследование во ООП во 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 да го искористите приватниот метод на родителот.