Métodos privados na herança em POO em JavaScript

Métodos privados não são herdados. Isso é feito intencionalmente para não violar o encapsulamento. Vamos ver um exemplo. Suponha que temos a seguinte classe pai com um método privado:

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

Suponha que a seguinte classe herda da classe pai:

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

Suponha que a classe filha queira usar o método privado da classe pai. O JavaScript não permitirá isso e retornará um erro:

javascriptclass Student extends User {
  setSurn(surn) {
    this.surn = surn;
  }
  getSurn() {
    return this.#capeFirst(this.surn); // haverá um erro
  }
}
Задание 1

Tente na classe Employee usar o método privado da classe pai.