Privaatmetodes by Oorerwing in OOP in JavaScript

Privaatmetodes word nie geërf nie. Dit is doelbewus gedoen om nie inkapsulering te skend nie. Kom ons kyk na 'n voorbeeld. Laat ons sê ons het die volgende ouer klas met 'n private metode:

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

Laat ons sê die volgende klas erf van die ouerklas:

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

Laat ons sê die nageslag wil die privaatmetode van die ouer gebruik. JavaScript sal dit nie toelaat nie en sal 'n fout gee:

javascriptclass Student extends User {
  setSurn(surn) {
    this.surn = surn;
  }
  getSurn() {
    return this.#capeFirst(this.surn); // sal 'n fout gee
  }
}
Задание 1

Probeer om in die klas Employee die privaatmetode van die ouer te gebruik.