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