Privata metoder vid arv i OOP i JavaScript

Privata metoder ärvs inte. Detta är gjort med flit för att inte bryta mot inkapsling. Låt oss titta på ett exempel. Låt oss säga att vi har följande föräldraklass med en privat metod:

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

Låt följande klass ärva från föräldraklassen:

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

Låt barnet vill använda förälderns privata metod. JavaScript tillåter inte detta och kommer att ge ett fel:

javascriptclass Student extends User {
  setSurn(surn) {
    this.surn = surn;
  }
  getSurn() {
    return this.#capeFirst(this.surn); // kommer att ge fel
  }
}
Задание 1

Försök i klassen Employee att använda förälderns privata metod.