C# अकादमी · पाठ

इनहेरिटेंस: कोड का पुनः उपयोग

C# में इनहेरिटेंस का उपयोग करके मौजूदा कोड का पुनः उपयोग और विस्तार करें

पाठ 6, कुल 7 में से10 चरण

इनहेरिटेंस: कोड का पुनः उपयोग, CoddyKit पर C# अकादमी का एक निःशुल्क पाठ है। यह 7 में से 6वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह C# अकादमी सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। C# अकादमी पाठ्यक्रम में कुल 7 पाठ शामिल हैं।

विरासत का परिचय

विरासत: कोड का पुनः उपयोग

अगले पाठ में आपका स्वागत है! इस पाठ में आप विरासत के बारे में सीखेंगे, जो वस्तु-उन्मुख प्रोग्रामिंग के मुख्य सिद्धांतों में से एक है। आप यह भी सीखेंगे कि इसकी सहायता से कोड का पुनः उपयोग करके वर्गों का पदानुक्रम कैसे बनाया जाता है। आइए, शुरू करते हैं!

इनहेरिटेंस: कोड का पुनः उपयोग — चित्र 1

विरासत क्या है?

विरासत के माध्यम से एक वर्ग (जिसे अधीनस्थ या व्युत्पन्न वर्ग कहा जाता है) किसी दूसरे वर्ग (जिसे मूल या आधार वर्ग कहा जाता है) की विशेषताएँ और विधियाँ प्राप्त कर सकता है। इससे कोड का पुनः उपयोग और वर्गों के पदानुक्रमित संबंध संभव होते हैं।

उदाहरण: Car वर्ग, ElectricCar और SportsCar वर्गों के लिए आधार वर्ग का काम कर सकता है और "रंग" तथा "गति" जैसे सामान्य गुणधर्म साझा कर सकता है।

आधार वर्ग परिभाषित करना

आधार वर्ग में ऐसे सामान्य गुणधर्म और विधियाँ होती हैं, जिन्हें व्युत्पन्न वर्ग विरासत में प्राप्त कर सकते हैं। उदाहरण:

मुख्य बात: पुनः उपयोग किए जा सकने वाले कोड को आधार वर्ग में परिभाषित करें।

using System;

class Vehicle {
    public string Color;

    public void Drive() {
        Console.WriteLine("The vehicle is driving.");
    }
}

व्युत्पन्न वर्ग बनाना

व्युत्पन्न वर्ग किसी आधार वर्ग के गुणधर्मों और विधियों को विरासत में प्राप्त करता है। विरासत दर्शाने के लिए : चिह्न का उपयोग करें। उदाहरण:

मुख्य बात: व्युत्पन्न वर्ग नई सुविधाएँ जोड़ सकते हैं या आधार वर्ग की कार्यक्षमता को पुनर्परिभाषित कर सकते हैं।

using System;

class Vehicle {
    public string Color;

    public void Drive() {
        Console.WriteLine("The vehicle is driving.");
    }
}

class Car : Vehicle {
    public int NumberOfDoors;

    public void ShowDetails() {
        Console.WriteLine("Color: " + Color);
        Console.WriteLine("Doors: " + NumberOfDoors);
    }
}

class Program {
    static void Main() {
        Car myCar = new Car();
        myCar.Color = "Red"; // Inherited from Vehicle
        myCar.NumberOfDoors = 4;
        myCar.Drive(); // Inherited from Vehicle
        myCar.ShowDetails();
    }
}

विधियों को पुनर्परिभाषित करना

व्युत्पन्न वर्ग विशिष्ट व्यवहार प्रदान करने के लिए आधार वर्ग की विधियों को पुनर्परिभाषित कर सकते हैं। आधार वर्ग में virtual कीवर्ड और व्युत्पन्न वर्ग में override कीवर्ड का उपयोग करें। उदाहरण:

सुझाव: व्युत्पन्न वर्गों में व्यवहार को अपनी आवश्यकता के अनुसार ढालने के लिए पुनर्परिभाषण उपयोगी है।

using System;

class Vehicle {
    public virtual void Drive() {
        Console.WriteLine("The vehicle is driving.");
    }
}

class SportsCar : Vehicle {
    public override void Drive() {
        Console.WriteLine("The sports car is driving fast!");
    }
}

class Program {
    static void Main() {
        SportsCar myCar = new SportsCar();
        myCar.Drive(); // Calls the overridden method
    }
}

base कीवर्ड

base कीवर्ड का उपयोग व्युत्पन्न क्लास के भीतर से आधार क्लास के सदस्यों तक पहुँचने के लिए किया जाता है। उदाहरण:

सुझाव: आधार क्लास के व्यवहार को बढ़ाने या उसमें कुछ जोड़ने के लिए base का उपयोग करें।

using System;

class Vehicle {
    public string Color;

    public virtual void Drive() {
        Console.WriteLine("The vehicle is driving.");
    }
}

class Truck : Vehicle {
    public override void Drive() {
        base.Drive(); // Calls the base class method
        Console.WriteLine("The truck is carrying a heavy load.");
    }
}

class Program {
    static void Main() {
        Truck myTruck = new Truck();
        myTruck.Color = "Blue";
        myTruck.Drive();
    }
}

अभ्यास चुनौती

Animal नाम की एक आधार क्लास बनाएँ, जिसमें Speak() नाम की एक विधि हो और जो "जानवर आवाज़ निकालता है।" प्रिंट करे। Dog और Cat नाम की व्युत्पन्न क्लास बनाएँ, जो "कुत्ता भौंकता है।" और "बिल्ली म्याऊँ करती है।" प्रिंट करने के लिए Speak() को ओवरराइड करें। उदाहरण:

using System;

class Animal {
    public virtual void Speak() {
        Console.WriteLine("The animal makes a sound.");
    }
}

class Dog : Animal {
    public override void Speak() {
        Console.WriteLine("The dog barks.");
    }
}

class Cat : Animal {
    public override void Speak() {
        Console.WriteLine("The cat meows.");
    }
}

class Program {
    static void Main() {
        Animal myDog = new Dog();
        Animal myCat = new Cat();

        myDog.Speak();
        myCat.Speak();
    }
}

इनहेरिटेंस की सर्वोत्तम पद्धतियाँ

यहाँ कुछ सर्वोत्तम पद्धतियाँ दी गई हैं:

  • इनहेरिटेंस का उपयोग केवल तब करें, जब स्पष्ट "है-एक" संबंध हो (जैसे, Car एक Vehicle है)।
  • आधार क्लास को जितना संभव हो उतना सामान्य रखें।
  • आवश्यक होने पर आगे के इनहेरिटेंस को रोकने के लिए sealed का उपयोग करें।

सुझाव: इनहेरिटेंस से आपके कोडबेस को सरल बनना चाहिए, जटिल नहीं।

बहुत बढ़िया!

बधाई हो! आपने C# में कोड का दोबारा उपयोग करने और क्लास की पदानुक्रम बनाने के लिए इनहेरिटेंस का उपयोग करना सीख लिया है। अगले पाठ में हम OOP की एक अन्य शक्तिशाली अवधारणा, पॉलीमॉर्फ़िज़्म, के बारे में विस्तार से जानेंगे। आइए, कोडिंग जारी रखें!

इनहेरिटेंस: कोड का पुनः उपयोग — चित्र 10
शुरुआत निःशुल्क

एआई शिक्षक के साथ C# सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
93
पाठ
346

अक्सर पूछे जाने वाले प्रश्न

क्या “इनहेरिटेंस: कोड का पुनः उपयोग” पाठ निःशुल्क है?

हाँ—“इनहेरिटेंस: कोड का पुनः उपयोग” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और C# अकादमी पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। C# अकादमी पाठ्यक्रम में कुल 7 पाठ शामिल हैं।

“इनहेरिटेंस: कोड का पुनः उपयोग” में मैं क्या सीखूँगा?

C# में इनहेरिटेंस का उपयोग करके मौजूदा कोड का पुनः उपयोग और विस्तार करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ C# अकादमी का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या C# अकादमी शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर C# अकादमी शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 7 में से 6वाँ पाठ है।

“इनहेरिटेंस: कोड का पुनः उपयोग” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस C# अकादमी पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर C# अकादमी पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग क्या है?
  2. क्लास और ऑब्जेक्ट परिभाषित करना
  3. गुणों और विधियों को समझना
  4. C# में कंस्ट्रक्टर
  5. एनकैप्सुलेशन और पहुँच संशोधक
  6. इनहेरिटेंस: कोड का पुनः उपयोग
  7. पॉलीमॉर्फ़िज़्म और विधि ओवरराइडिंग
← C# अकादमी पर वापस जाएँ