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

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

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

वास्तविक दुनिया का उदाहरण

दादा → पिता → पुत्र

  • Grandfather (बेस क्लास)
  • Father : Grandfather से इनहेरिट करता है
  • Son : Father से इनहेरिट करता है (और परोक्ष रूप से Grandfather से)

उदाहरण

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

namespace Demo {
    class Son : Father {
        public void DisplayTwo() {
            Console.WriteLine("Son..");
        }

        static void Main(string[] args) {
            Son s = new Son();
            s.Display();      // Grandfather का मेथड
            s.DisplayOne();   // Father का मेथड
            s.DisplayTwo();   // Son का मेथड
            Console.Read();
        }
    }

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

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

आउटपुट

Grandfather...
Father...
Son..

मुख्य अवधारणाएं

क्लास इससे इनहेरिट करता है पहुंच योग्य मेथड्स
Grandfather - (बेस) Display()
Father Grandfather Display(), DisplayOne()
Son Father Display(), DisplayOne(), DisplayTwo()

कंस्ट्रक्टर चेनिंग

class Grandfather {
    public Grandfather(string name) {
        Console.WriteLine($"Grandfather: {name}");
    }
}

class Father : Grandfather {
    public Father(string name, int age) : base(name) {
        Console.WriteLine($"Father: {age}");
    }
}

class Son : Father {
    public Son(string name, int age, string school) : base(name, age) {
        Console.WriteLine($"Son: {school}");
    }
}

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

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

class Father : Grandfather {
    public override void Display() {
        Console.WriteLine("Father (overridden)...");
        base.Display(); // बेस मेथड कॉल कर सकते हैं
    }
}

महत्वपूर्ण बिंदु

  • C# मल्टीपल इनहेरिटेंस (एक क्लास एक से अधिक बेस क्लास से) का समर्थन नहीं करता - इसके लिए इंटरफेसेस उपयोग करें।
  • बहुस्तरीय इनहेरिटेंस में प्रत्येक स्तर पिछले पर आधारित होता है।
  • base कीवर्ड बेस क्लास के मेंबर्स तक पहुंचने के लिए उपयोग होता है।
  • virtual/override पॉलीमॉर्फिज्म सक्षम करते हैं।
  • गहरी इनहेरिटेंस हायरार्की (3+ स्तर) से बचें - कंपोजिशन प्राथमिकता दें।
  1. JavaScript नंबर्स उदाहरण JavaScript नंबर्स उदाहरण

    JavaScript में नंबर्स के लिए एक उदाहरण निम्न है -उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> &

  1. उदाहरण के साथ जावास्क्रिप्ट में इनहेरिटेंस उदाहरण के साथ जावास्क्रिप्ट में इनहेरिटेंस

    जावास्क्रिप्ट एक ऑब्जेक्ट-आधारित भाषा है जो प्रोटोटाइप पर आधारित है। इनहेरिटेंस को जावास्क्रिप्ट में प्रोटोटाइप ऑब्जेक्ट का उपयोग करके लागू किया जाता है। जावास्क्रिप्ट में इनहेरिटेंस लागू करने के लिए कोड निम्नलिखित है: उदाहरण <!DOCTYPE html> <html lang=en> <head> <meta charset=

  1. jQuery closest() मेथड उदाहरण के साथ jQuery closest() मेथड उदाहरण के साथ

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