जावास्क्रिप्ट में ओओपी में इनहेरिटेंस के दौरान कंस्ट्रक्टर
इनहेरिटेंस के दौरान पैरेंट के कंस्ट्रक्टर को ओवरराइड किया जा सकता है। आइए एक उदाहरण से देखते हैं। मान लीजिए कि हमारे पास निम्नलिखित पैरेंट क्लास है:
class User {
constructor(name, surn) {
this.name = name;
this.surn = surn;
}
getName() {
return this.name;
}
getSurn() {
return this.surn;
}
}
मान लीजिए कि पैरेंट क्लास से निम्नलिखित क्लास इनहेरिट करती है:
class Student extends User {
}
मान लीजिए कि हम चाइल्ड क्लास में कंस्ट्रक्टर को एक्स्टेंड करना चाहते हैं, इसमें अतिरिक्त पैरामीटर जोड़कर:
class Student extends User {
constructor(name, surn, year) {
}
}
इस स्थिति में हमें अनिवार्य रूप से
पहली लाइन में super के through
पैरेंट के कंस्ट्रक्टर को कॉल करना होगा:
class Student extends User {
constructor(name, surn, year) {
super();
}
}
कमांड super वास्तव में
पैरेंट का कंस्ट्रक्टर है। इसलिए
आवश्यक पैरामीटर इसमें पास करते हैं:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
}
}
अब चाइल्ड में अध्ययन का वर्ष चाइल्ड की अपनी प्रॉपर्टी में लिखेंगे:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
}
आइए अध्ययन के वर्ष के लिए गेटर बनाते हैं:
class Student extends User {
constructor(name, surn, year) {
super(name, surn);
this.year = year;
}
getYear() {
return this.year;
}
}
मान लीजिए कि क्लास Employee
इस पाठ की क्लास User से
इनहेरिट करती है।
क्लास Employee में
पैरेंट के कंस्ट्रक्टर को ओवरराइड करें, इसमें
उम्र और वेतन के साथ एक पैरामीटर जोड़कर।
उम्र और वेतन के लिए गेटर बनाएं।