"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > वर्चुअल बनाम नया C#में: बेस क्लास के तरीकों को ओवरराइड करने या छिपाने के लिए कब?

वर्चुअल बनाम नया C#में: बेस क्लास के तरीकों को ओवरराइड करने या छिपाने के लिए कब?

2025-01-29 को प्रकाशित
ब्राउज़ करें:389

Virtual vs. New in C#: When to Override or Hide Base Class Methods?
] ] यद्यपि "वर्चुअल" और "नए" कीवर्ड दोनों का उपयोग विधि घोषणा को संशोधित करने के लिए किया जा सकता है, उनके पास अलग -अलग कार्यान्वयन विधियां हैं।

dirtual rewriting

आधार वर्ग में "वर्चुअल" के रूप में घोषित विधि, यह दर्शाता है कि उपवर्गों को फिर से लिखा जा सकता है।

]

नया कीवर्ड

  • व्युत्पन्न वर्ग में नींव चीनी विधि के रूप में एक ही नाम की एक नई विधि बताएं।
  • बुनियादी विधि को छिपाएं और व्युत्पन्न वर्ग में एक नया कार्यान्वयन बनाएं।

वंशानुक्रम श्रृंखला को नष्ट करना, जिसका अर्थ है कि व्युत्पन्न विधि आधार विधि से संबंधित नहीं है।

उदाहरण
  • निम्नलिखित कोड पर विचार करें:
  • सार्वजनिक वर्ग आधार {{ सार्वजनिक आभासी बूल dosomething () {झूठी वापसी;} } सार्वजनिक वर्ग व्युत्पन्न: आधार: आधार {{ सार्वजनिक ओवरराइड बूल डॉसोमेटिंग () {वापसी सच;} }
  • ]

आधार a = नया व्युत्पन्न (); a.dosomething (); ] सार्वजनिक वर्ग व्युत्पन्न: आधार {{ सार्वजनिक नया बूल dosomething () {वापसी सच;} }

public class Base
{
    public virtual bool DoSomething() { return false; }
}

public class Derived : Base
{
    public override bool DoSomething() { return true; }
}

एक नया, स्वतंत्र कार्यान्वयन बनाने के लिए नए का उपयोग करें, जिससे विरासत श्रृंखला को नष्ट कर दिया जाए।

            
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3