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

इनहेरिटेंस के दौरान पैरेंट के कंस्ट्रक्टर को ओवरराइड किया जा सकता है। आइए एक उदाहरण से देखते हैं। मान लीजिए कि हमारे पास निम्नलिखित पैरेंट क्लास है:

javascriptclass User {
  constructor(name, surn) {
    this.name = name;
    this.surn = surn;
  }
  
  getName() {
    return this.name;
  }
  getSurn() {
    return this.surn;
  }
}

मान लीजिए कि पैरेंट क्लास से निम्नलिखित क्लास इनहेरिट करती है:

javascriptclass Student extends User {
  
}

मान लीजिए कि हम चाइल्ड क्लास में कंस्ट्रक्टर को एक्स्टेंड करना चाहते हैं, इसमें अतिरिक्त पैरामीटर जोड़कर:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    
  }
}

इस स्थिति में हमें अनिवार्य रूप से पहली लाइन में super के through पैरेंट के कंस्ट्रक्टर को कॉल करना होगा:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super();
  }
}

कमांड super वास्तव में पैरेंट का कंस्ट्रक्टर है। इसलिए आवश्यक पैरामीटर इसमें पास करते हैं:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
  }
}

अब चाइल्ड में अध्ययन का वर्ष चाइल्ड की अपनी प्रॉपर्टी में लिखेंगे:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
    this.year = year;
  }
}

आइए अध्ययन के वर्ष के लिए गेटर बनाते हैं:

javascriptclass Student extends User {
  constructor(name, surn, year) {
    super(name, surn);
    this.year = year;
  }
  
  getYear() {
    return this.year;
  }
}
Задание 1

मान लीजिए कि क्लास Employee इस पाठ की क्लास User से इनहेरिट करती है।

Задание 2

क्लास Employee में पैरेंट के कंस्ट्रक्टर को ओवरराइड करें, इसमें उम्र और वेतन के साथ एक पैरामीटर जोड़कर।

Задание 3

उम्र और वेतन के लिए गेटर बनाएं।