⊗jsOpIhCOM 32 of 60 menu

जावास्क्रिप्ट में ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग में ओवरराइड मेथड को कॉल करना

ओवरराइडिंग करते समय, चाइल्ड क्लास पैरेंट क्लास के ओवरराइड मेथड तक पहुंच खो देती है। हालांकि, फिर भी इस तक पहुंच प्राप्त की जा सकती है। यह कीवर्ड super की मदद से किया जाता है, जो पैरेंट क्लास को इंगित करता है।

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

class User { setName(name) { this.name = name; } getName() { return this.name; } }

मान लीजिए कि हमने चाइल्ड क्लास में पैरेंट के मेथड को ओवरराइड कर दिया है:

class Student extends User { setName(name) { if (name.length > 0) { this.name = name; } else { throw new Error('student name error'); } } }

यह देखा जा सकता है कि ओवरराइड मेथड में शर्त पूरी होने पर वास्तव में पैरेंट मेथड का कोड ही निष्पादित होता है। इससे कोड की अनावश्यक नकल हो रही है।

पैरेंट मेथड को कॉल करके इस नकल से छुटकारा पाया जा सकता है। आइए इसे करते हैं:

class Student extends User { setName(name) { if (name.length > 0) { super.setName(name); // पैरेंट का मेथड } else { throw new Error('student name error'); } } }

निम्नलिखित कोड दिया गया है:

class User { setAge(age) { if (age >= 0) { this.age = age; } else { throw new Error('need age more 0'); } } } class Employee { setAge(age) { if (age <= 120) { if (age >= 0) { this.age = age; } else { throw new Error('need age more 0'); } } else { throw new Error('need age less 120'); } } }

Employee क्लास में उम्र सेटर को सरल बनाएं, मूल पैरेंट मेथड का उपयोग करके।

हिन्दी
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें