जावास्क्रिप्ट में ओओपी में इनहेरिटेंस के दौरान प्राइवेट प्रॉपर्टीज़
प्राइवेट प्रॉपर्टीज़ इनहेरिट नहीं होती हैं। लेकिन चाइल्ड क्लास पैरेंट की पब्लिक मेथड्स के माध्यम से उनमें हेरफेर कर सकता है। आइए इसे व्यवहार में देखते हैं। मान लीजिए कि हमारे पास एक प्राइवेट प्रॉपर्टी और उसके गेटर और सेटर वाला निम्नलिखित पैरेंट क्लास है:
class User {
#name;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
मान लीजिए कि पैरेंट से निम्नलिखित चाइल्ड क्लास इनहेरिट करता है:
class Student extends User {
}
आइए चाइल्ड क्लास का एक ऑब्जेक्ट बनाएं:
let student = new Student;
आइए उसकी प्राइवेट प्रॉपर्टी को सेट करने के लिए पैरेंट क्लास की मेथड का उपयोग करें:
student.setName('john');
आइए उसकी प्राइवेट प्रॉपर्टी को पढ़ने के लिए पैरेंट क्लास की मेथड का उपयोग करें:
let name = student.getName();
console.log(name);
निम्नलिखित पैरेंट क्लास दिया गया है:
class User {
#name;
#surn;
setName(name) {
this.#name = name;
}
getName() {
return this.#name;
}
setSurn(surn) {
this.#surn = surn;
}
getSurn() {
return this.#surn;
}
}
Employee क्लास बनाएं,
जो इस पैरेंट क्लास से इनहेरिट करेगी।
Employee क्लास का एक ऑब्जेक्ट बनाएं
और इनहेरिट की गई सेटर और गेटर मेथड्स को कॉल करें।
Employee क्लास में निम्नलिखित मेथड बनाएं:
getFull() {
return this.#name + ' ' + this.#surn;
}
सुनिश्चित करें कि मेथड का कोड एरर देता है।