Մասնավոր մեթոդներ ժառանգման ժամանակ OOP-ում 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 դասում օգտագործել ծնողի մասնավոր մեթոդը: