जावास्क्रिप्ट वर्ग वंशानुक्रम

इस ट्यूटोरियल में, आप उदाहरणों की सहायता से जावास्क्रिप्ट वर्ग वंशानुक्रम के बारे में जानेंगे।

कक्षा में प्रवेश

वंशानुक्रम आपको एक वर्ग को परिभाषित करने में सक्षम बनाता है जो मूल कक्षा से सभी कार्यक्षमता लेता है और आपको अधिक जोड़ने की अनुमति देता है।

क्लास इनहेरिटेंस का उपयोग करके, एक क्लास दूसरे क्लास के सभी तरीकों और गुणों को विरासत में दे सकती है।

वंशानुक्रम एक उपयोगी विशेषता है जो कोड पुन: प्रयोज्य की अनुमति देता है।

क्लास इनहेरिटेंस का उपयोग करने के लिए, आप extendsकीवर्ड का उपयोग करते हैं । उदाहरण के लिए,

 // parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( ) let student1 = new Student('Jack'); student1.greet();

आउटपुट

 नमस्ते जैक

उपरोक्त उदाहरण में, Studentवर्ग वर्ग के सभी तरीकों और गुणों को विरासत में देता है Person। इसलिए, Studentवर्ग के पास अब nameसंपत्ति और greet()विधि होगी।

फिर, हमने ऑब्जेक्ट बनाकर क्लास के greet()तरीके को एक्सेस किया ।Studentstudent1

जावास्क्रिप्ट सुपर () कीवर्ड

superचाइल्ड क्लास के अंदर उपयोग किया जाने वाला कीवर्ड अपने मूल वर्ग को दर्शाता है। उदाहरण के लिए,

 // parent class class Person ( constructor(name) ( this.name = name; ) greet() ( console.log(`Hello $(this.name)`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( console.log("Creating student class"); // call the super class constructor and pass in the name parameter super(name); ) ) let student1 = new Student('Jack'); student1.greet();

यहां, वर्ग के superअंदर Studentवर्ग को संदर्भित करता है Person। इसलिए, जब Studentक्लास के कंस्ट्रक्टर को बुलाया जाता है, तो वह क्लास के कंस्ट्रक्टर को भी कॉल Personकरता है, जो उसे एक प्रॉपर्टी देता है।

ओवरराइडिंग मेथड या प्रॉपर्टी

यदि किसी चाइल्ड क्लास के पास अभिभावक वर्ग के समान विधि या संपत्ति का नाम है, तो वह चाइल्ड क्लास की विधि और संपत्ति का उपयोग करेगा। इस अवधारणा को विधि अधिभावी कहा जाता है। उदाहरण के लिए,

 // parent class class Person ( constructor(name) ( this.name = name; this.occupation = "unemployed"; ) greet() ( console.log(`Hello $(this.name).`); ) ) // inheriting parent class class Student extends Person ( constructor(name) ( // call the super class constructor and pass in the name parameter super(name); // Overriding an occupation property this.occupation = 'Student'; ) // overriding Person's method greet() ( console.log(`Hello student $(this.name).`); console.log('occupation: ' + this.occupation); ) ) let p = new Student('Jack'); p.greet();

आउटपुट

हैलो छात्र जैक। व्यवसाय: छात्र

यहां, occupationसंपत्ति और greet()विधि पैरेंट Personक्लास और चाइल्ड Studentक्लास में मौजूद है। इसलिए, Studentवर्ग occupationसंपत्ति और greet()विधि से आगे निकल जाता है।

इनहेरिटेंस का उपयोग

  • चूंकि एक बच्चा वर्ग माता-पिता की कक्षा की सभी कार्यात्मकताओं को विरासत में दे सकता है, इसलिए यह कोड पुन: प्रयोज्य की अनुमति देता है।
  • एक बार एक कार्यक्षमता विकसित होने के बाद, आप बस इसे विरासत में ले सकते हैं। पहिया को सुदृढ़ करने की आवश्यकता नहीं है। यह क्लीनर कोड और बनाए रखने में आसान के लिए अनुमति देता है।
  • चूंकि आप बच्चे की कक्षा में अपनी खुद की कार्यक्षमता भी जोड़ सकते हैं, आप केवल उपयोगी कार्यात्मकताएं प्राप्त कर सकते हैं और अन्य आवश्यक सुविधाओं को परिभाषित कर सकते हैं।

दिलचस्प लेख...