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

C# में एकल इनहेरिटेंस (Single Inheritance) उदाहरण

एकल इनहेरिटेंस (Single Inheritance) में एक डेराइव्ड क्लास केवल एक बेस क्लास से इनहेरिट करती है। यह इनहेरिटेंस का सबसे सरल रूप है।

उदाहरण

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MyApplication {
    class Demo {
        static void Main(string[] args) {
            // Father क्लास
            Father f = new Father();
            f.Display();

            // Son क्लास
            Son s = new Son();
            s.Display();      // Father से इनहेरिटेड
            s.DisplayOne();   // Son का अपना मेथड

            Console.ReadKey();
        }
    }

    class Father {
        public void Display() {
            Console.WriteLine("Display");
        }
    }

    class Son : Father {
        public void DisplayOne() {
            Console.WriteLine("DisplayOne");
        }
    }
}

आउटपुट

Display
Display
DisplayOne

आरेख

    Father (बेस क्लास)
       │
       │ इनहेरिट करता है
       ▼
    Son (डेराइव्ड क्लास)

पहुंच संशोधक और इनहेरिटेंस

मोडिफायर डेराइव्ड क्लास में पहुंच
public हां
protected हां (केवल डेराइव्ड क्लास में)
internal हां (समान असेंबली में)
protected internal हां (डेराइव्ड या समान असेंबली)
private नहीं (लेकिन ऑब्जेक्ट में मौजूद होता है)
private protected हां (डेराइव्ड और समान असेंबली)

कंस्ट्रक्टर इनहेरिटेंस

कंस्ट्रक्टर्स इनहेरिट नहीं होते, लेकिन डेराइव्ड क्लास को बेस कंस्ट्रक्टर कॉल करना चाहिए:

class Father {
    public Father(string name) {
        Name = name;
    }
    public string Name { get; }
}

class Son : Father {
    public Son(string name, int age) : base(name) { // बेस कंस्ट्रक्टर कॉल
        Age = age;
    }
    public int Age { get; }
}

मेथड हाइडिंग vs ओवरराइडिंग

class Father {
    public void Display() { Console.WriteLine("Father"); }
}

class Son : Father {
    // हाइडिंग (नया मेथड) - डिफॉल्ट व्यवहार
    public new void Display() { Console.WriteLine("Son"); }

    // ओवरराइडिंग (पॉलीमॉर्फिज्म) - virtual/override आवश्यक
    public override void Display() { Console.WriteLine("Son (override)"); }
}

मुख्य बिंदु

  • C# केवल एकल क्लास इनहेरिटेंस का समर्थन करता है (एक बेस क्लास)।
  • एकाधिक "इनहेरिटेंस" के लिए इंटरफेसेस उपयोग करें।
  • डेराइव्ड क्लास बेस क्लास के सभी non-private मेंबर्स एक्सेस कर सकती है।
  • is और as ऑपरेटर्स टाइप जांच के लिए: son is Father → true।
  1. jQuery closest() मेथड उदाहरण के साथ jQuery closest() मेथड उदाहरण के साथ

    jQuery में closest() मेथड का उपयोग चयनित तत्व के पहले पूर्वज (ancestor) को लौटाने के लिए किया जाता है। सिंटैक्स सिंटैक्स इस प्रकार है: $(selector).closest(filter) उदाहरण आइए अब jQuery closest() मेथड को लागू करने का एक उदाहरण देखें: <!DOCTYPE html> <html> <head> <style>

  1. C# में बहुस्तरीय इनहेरिटेंस (Multilevel Inheritance) उदाहरण C# में बहुस्तरीय इनहेरिटेंस (Multilevel Inheritance) उदाहरण

    बहुस्तरीय इनहेरिटेंस (Multilevel Inheritance) तब होता है जब एक डेराइव्ड क्लास दूसरी डेराइव्ड क्लास से इनहेरिट करती है, जिससे इनहेरिटेंस की एक श्रृंखला बनती है। वास्तविक दुनिया का उदाहरण दादा → पिता → पुत्र Grandfather (बेस क्लास) Father : Grandfather से इनहेरिट करता है Son : Father से

  1. रेल्स एप्लिकेशन में टर्बोलिंक्स को दुःस्वप्न से लाभ में बदलें रेल्स एप्लिकेशन में टर्बोलिंक्स को दुःस्वप्न से लाभ में बदलें

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