जावास्क्रिप्ट में ओओपी में इनहेरिटेंस के दौरान प्राइवेट मेथड्स

प्राइवेट मेथड्स इनहेरिट नहीं होते हैं। यह जानबूझकर किया गया है ताकि एनकैप्सुलेशन को न तोड़ा जाए। आइए एक उदाहरण से देखते हैं। मान लीजिए कि हमारे पास एक प्राइवेट मेथड वाला निम्नलिखित पैरेंट क्लास है:

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;
  }
}

मान लीजिए चाइल्ड क्लास पैरेंट के प्राइवेट मेथड का उपयोग करना चाहता है। जावास्क्रिप्ट इसे अनुमति नहीं देगा और एक एरर देगा:

javascriptclass Student extends User {
  setSurn(surn) {
    this.surn = surn;
  }
  getSurn() {
    return this.#capeFirst(this.surn); // एरर आएगा
  }
}
Задание 1

Employee क्लास में पैरेंट के प्राइवेट मेथड का उपयोग करने का प्रयास करें।