Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में मेथड ओवरराइडिंग और मेथड हाइडिंग में अंतर


C# में पैरेंट क्लास के मेथड को चाइल्ड क्लास द्वारा पुनः परिभाषित करने या नया कार्यान्वयन प्रदान करने के दो तंत्र हैं और इन दो तंत्रों को मेथड ओवरराइडिंग और मेथड हाइडिंग के नाम से जाना जाता है। अब इस आधार पर कि मेथड पुनः कार्यान्वयन कैसे किया जाता है, हम दोनों के बीच अंतर कर सकते हैं।

मेथड ओवरराइडिंग और मेथड हाइडिंग के बीच महत्वपूर्ण अंतर निम्नलिखित हैं।

क्र.सं.मुख्य बिंदुमेथड ओवरराइडिंगमेथड हाइडिंग
1परिभाषामेथड ओवरराइडिंग पॉलीमॉर्फिज्म प्राप्त करने का एक तंत्र है जहां सुपर क्लास और सब क्लास में समान मेथड्स होते हैं, जिनमें पैरामीटर्स और सिग्नेचर शामिल हैं, और जब आप इसे सब क्लास ऑब्जेक्ट का उपयोग करके कॉल करते हैं, तो सब क्लास में कार्यान्वयन आमंत्रित होता है।दूसरी ओर मेथड हाइडिंग को एक तकनीक के रूप में परिभाषित किया जा सकता है जिसमें यूजर new कीवर्ड का उपयोग करके बेस या पैरेंट क्लास के मेथड को पुनः परिभाषित कर सकता है जिसके परिणामस्वरूप उस विशेष मेथड के लिए बेस क्लास द्वारा प्रदान किया गया मुख्य बुनियादी कार्यान्वयन छिप जाता है।
2पैरेंट कार्यान्वयन तक पहुंचमेथड ओवरराइडिंग में चाइल्ड क्लास पैरेंट क्लास मेथड कार्यान्वयन तक पहुंच सकती है।मेथड हाइडिंग के मामले में पैरेंट क्लास मेथड कार्यान्वयन को चाइल्ड क्लास रेफरेंस के माध्यम से एक्सेस नहीं किया जा सकता।
3उपयोग किया गया मॉडिफायरमेथड ओवरराइडिंग के लिए override कीवर्ड का उपयोग किया जाता है।मेथड हाइडिंग के मामले में चाइल्ड क्लास में नया कार्यान्वयन परिभाषित करने के लिए new कीवर्ड का उपयोग किया जाता है।
4कार्यान्वयन प्रकारमेथड ओवरराइडिंग में मेथड का कार्यान्वयन प्रकार ऑब्जेक्ट प्रकार का होता है।दूसरी ओर मेथड हाइडिंग में मेथड का कार्यान्वयन प्रकार रेफरेंस प्रकार का होता है।
5पैरेंट से चाइल्ड रेफरेंसमेथड ओवरराइडिंग में जब पैरेंट क्लास रेफरेंस वेरिएबल चाइल्ड क्लास के ऑब्जेक्ट की ओर इशारा कर रहा होता है, तो यह चाइल्ड क्लास में ओवरराइड किए गए मेथड को कॉल करेगा।दूसरी ओर मेथड हाइडिंग में, जब पैरेंट क्लास रेफरेंस वेरिएबल चाइल्ड क्लास के ऑब्जेक्ट की ओर इशारा कर रहा होता है, तो यह पैरेंट क्लास में छिपे हुए मेथड को कॉल करेगा।
6उपयोगमेथड ओवरराइडिंग केवल मेथड के कार्यान्वयन को पुनः परिभाषित करता है।मेथड हाइडिंग मेथड को पूरी तरह से पुनः परिभाषित कर सकता है।

  1. - जावा में Class और Interface में अंतर

    इस पोस्ट में, हम जावा में क्लास और इंटरफेस के बीच अंतर को समझेंगे।Classयह बताता है कि एक ऑब्जेक्ट में कौन से गुण और व्यवहार होने चाहिए।इसमें एब्स्ट्रैक्ट मेथड्स के साथ-साथ सामान्य मेथड्स भी हो सकते हैं।इसे बनाने की कीवर्ड class है।इसे इंस्टेंटिएट किया जा सकता है।यह मल्टीपल इनहेरिटेंस को सपोर्ट नहीं

  1. - Java 8 में डिफ़ॉल्ट और स्टेटिक इंटरफेस मेथड के बीच अंतर

    परिचयOracle के Javadocs के अनुसार -डिफ़ॉल्ट मेथड्स आपको अपने लाइब्रेरी के इंटरफेस में नई कार्यक्षमता जोड़ने में सक्षम बनाते हैं और उन इंटरफेस के पुराने संस्करणों के लिए लिखे गए कोड के साथ बाइनरी कम्पैटिबिलिटी सुनिश्चित करते हैं।एक स्टेटिक मेथड वह मेथड है जो उस क्लास से जुड़ा होता है जिसमें इसे परिभा

  1. - Python में मेथड और फ़ंक्शन के बीच अंतर

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