JavaScript OOP හි උරුමකම ලබන අතරතුර පෞද්ගලික ක්‍රම

පෞද්ගලික ක්‍රම උරුම නොලබයි. කැප්සියුලීකරණය උල්ලංඝනය නොකිරීම සඳහා මෙය විශේෂයෙන් සකසා ඇත. අපි උදාහරණයක් බලමු. පහත දක්වා ඇති පෞද්ගලික ක්‍රමයක් සහිත මාපිය පන්තියක් අප සතුව ඇතැයි සිතමු:

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 පන්තිය තුළ මාපියයාගේ පෞද්ගලික ක්‍රමය භාවිතා කිරීමට උත්සාහ කරන්න.