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

C# में मल्टीपल इनहेरिटेंस (इंटरफ़ेस के माध्यम से)


परिचय

C# क्लासेस के साथ मल्टीपल इनहेरिटेंस (एक से अधिक बेस क्लास) का समर्थन नहीं करता। लेकिन एक क्लास एकाधिक इंटरफ़ेस इम्प्लीमेंट करके समान व्यवहार प्राप्त कर सकती है।

उदाहरण: दो इंटरफ़ेस इम्प्लीमेंट करना

using System;

namespace Demo
{
    public interface BaseOne
    {
        void Display();
    }

    public interface BaseTwo
    {
        void Display();
    }

    // दोनों इंटरफ़ेस इम्प्लीमेंट
    public class ChildOne : BaseOne, BaseTwo
    {
        public void Display()
        {
            Console.WriteLine("Child Class!");
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            ChildOne c = new ChildOne();
            c.Display(); // आउटपुट: Child Class!
            Console.ReadKey();
        }
    }
}

मुख्य बिंदु

  • एक क्लास कई इंटरफ़ेस इम्प्लीमेंट कर सकती है: class Child : I1, I2, I3।
  • सभी इंटरफ़ेस सदस्यों को इम्प्लीमेंट करना अनिवार्य है।
  • यदि इंटरफ़ेस में समान सिग्नेचर के मेथड हों, तो एक ही इम्प्लीमेंटेशन दोनों के लिए काम करता है (स्पष्ट इम्प्लीमेंटेशन के साथ अलग भी कर सकते हैं)।
  • इंटरफ़ेस में फ़ील्ड नहीं, केवल सिग्नेचर होते हैं।

स्पष्ट इम्प्लीमेंटेशन (Explicit Implementation)

void BaseOne.Display() { Console.WriteLine("BaseOne"); }
void BaseTwo.Display() { Console.WriteLine("BaseTwo"); }

// उपयोग:
BaseOne b1 = new ChildOne(); b1.Display(); // BaseOne
BaseTwo b2 = new ChildOne(); b2.Display(); // BaseTwo
  1. - C# में डायनामिक ऐरे क्या हैं

    डायनामिक ऐरे ग्रोएबल ऐरे हैं और स्टैटिक ऐरे पर लाभ रखते हैं। ऐसा इसलिए है क्योंकि ऐरे का साइज़ फिक्स्ड होता है। C# में ऐरे डायनामिकली बनाने के लिए, ArrayList कलेक्शन का उपयोग करें। यह एक ऑब्जेक्ट के ऑर्डर्ड कलेक्शन को दर्शाता है जिसे इंडिविजुअली इंडेक्स किया जा सकता है। यह डायनामिक मेमोरी आवंटन, लिस

  1. - C# में कॉन्टेक्स्चुअल कीवर्ड्स क्या हैं

    C# में, कुछ आइडेंटिफायर्स कोड के संदर्भ में विशेष अर्थ रखते हैं, जैसे get और set को कॉन्टेक्स्चुअल कीवर्ड्स कहा जाता है। निम्नलिखित टेबल कॉन्टेक्स्चुअल कीवर्ड्स दिखाती है - कॉन्टेक्स्चुअल कीवर्ड्स add alias ascending descending dynamic from get global group into join let orderby partial (ty

  1. - C# में कंडीशनल अट्रिब्यूट्स क्या हैं

    अट्रिब्यूट्स का उपयोग मेटाडेटा जोड़ने के लिए किया जाता है, जैसे कंपाइलर इंस्ट्रक्शन और अन्य जानकारी जैसे कमेंट्स, विवरण, मेथड्स, और क्लासेस को प्रोग्राम में। यह पूर्वनिर्धारित अट्रिब्यूट एक कंडीशनल मेथड को चिह्नित करता है जिसका एक्जीक्यूशन एक निर्दिष्ट प्रीप्रोसेसिंग आइडेंटिफायर पर निर्भर करता है। य