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