हेल्लो दोस्तों ! आज के इस पोस्ट में आपको c# inheritance in hindi के बारे में आपको बताया जा रहा है की क्या होता है कैसे काम करता है तो चलिए शुरू करते है
C# inheritance का परिचय
- inheritance एक mechanism होता है की जिसके द्वारा दो classes में child/parent relationship को establish की जाती है जब दो classes में child/parent relationship होती है तो child class parent class के members का प्रयोग कर सकती है
- inheritance मूलत: inherit वर्ड(word) से बना होता है जिसका अर्थ विरासत में पाना होता है जब classes के बीच में inheritance को establish किया जाता है तो inherit करने वाली class(child class) inherit की जाने वाली class (parent class) के members को एक तरह से विरासत के रूप में प्राप्त करती है
- इसके लिए आप child class में किस प्रकार के declaration आदि की आवश्यकता नहीं होती है inheritance के द्वारा ही child class parent class के members को इस प्रकार से access करती है जैसे की वे सभी class में डिफाइन किये गए है
example के लिए आप जब कोई नयी class को create करे तो यह जरुरी नहीं है की आप नए fields और methods को डिफाइन करे यदि ऐसी कोई class है जिसके members का प्रयोग किया जा सकता है की तो आप उसे inherit कर सकते है और उसके members का प्रयोग कर सकते है
inheritance mechanism की advantages आपको निचे दिया जा रहा है
- reusability –inheritance के द्वारा आप class के code को दूसरी class में प्रयोग कर पाते है इससे आपके code की reusability बढती है
- readability– inheritance को establish करने से extra code लिखने की आवश्यकता नहीं होती है जिससे आपके प्रोग्राम में code कम हो जाती है जो readability को बढ़ता है
- save programmers time –inheritance को establish करने से programmer का time बचता है क्योकि एक ही code को बार बार लिखना नहीं पढ़ता है
inherit की जाने वाली class को parent या base class कहा जाता है जो inherit करने वाली class को child या derived class कहलाती है
c# में सिर्फ single inheritance ही allow होती है एक class को सिर्फ एक ही class को inherit कर सकती है कोई भी class एक से अधिक classes को inherit नहीं कर सकती है लेकिन एक class को एक से अधिक interface को implement कर सकती है
single inheritance के आलावा c# में multilevel inheritance भी allow है यानी inherit करने वाली class भी किसी दूसरी class के द्वारा inherit की जा सकती है
एक class को दूसरी class के constructors और finalizers को inherit नहीं कर सकती है इसके आलावा एक class दूसरी class के private members को भी नहीं inherit कर सकती है
लेकिन यदि inherit करने वाली class को inherit की जाने वाली class में nested है तो वह private members को access कर सकती है private members को छोड़ कर बाकी सभी members को child class में accessible होता है
syntax of c# inheritance
c# में किसी भी class को inherit करने का general syntax आपको निचे दिया जा रहा है
class parent-class { //parent class members } Class child-class:parent-class { //child class members //use parent class members also }
जैसा की उपर दिए गए syntax में आप देख सकते है की जब किसी class को inherit किया जाता है तो inherit करने वाली class को declare करते समय उसके नाम के बाद colon(:) को लगाकर उस class का नाम लिखा जाता है जिसे आप inherit किया जायेगा
example of c# inheritance
c# में inheritance का प्रयोग करने का example आपको द्वारा समझाया जा रहा है
using System; class myClass\ { Public void display() { Console.WriteLine(“this is parent class display method”); } } Class myOtherClass:myClass { } Class myFinalClass { Static void Main(string[] args) { myOtherClass obj=new myOtherClass(); obj.display(); } }
उपर दिए गए example में आप दिए गए आउटपुट में generate करता है
this is base class display method the base keyword
यदि parent और child class में एक ही नाम के members को create किये गए है तो child class से base class के members को access करने के लिए base keyword की आवश्यकता होती है
example के लिए यदि उपर दिए गए example में यदि myOtherClass में भी एक display() method को create किया जाए और इस class का object को create करके display() method को कॉल किया जाए तो myOtherClass का ही display() method को execute होगा
ऐसे में myClass के display() method को call करने के लिए आपको base keyword का उपयोग करना होगा इसे आपको निचे example के द्वारा समझ सकते है
ऐसे में myClass के display() method को call करने के लिए ही आपको base keyword का उपयोग करना होगा इसे आपको निचे example के द्वारा समझा जा रहा है
Using System; Class myClass { Public void display() { Console.WriteLIne(“this is parent class display method”); } } Class myOtherClass:myClass { Public void display() { Base.display(); Console.WriteLine(“this is child class display method”); } } Class myFinalClass { Static void Main(string[] args) { myOtherClass obj=new myOtherClass(); obj.display(); } }
उपर दिए गए example में आपको दिए जा रहे आउटपुट आपको निचे generate होता है
this is parent class display method this is child class display method
Overriding methods
कई बार आपको parent class के methods को child class के अनुरूप change करने की आवश्यकता हो सकती है ताकि उन्हें child class मे प्रयोग किया जा सकता है
parent class के methods को child class में change किया जा सकता है इसे overriding कहा जाता है क्योकि आप parent class के methods की definition child class में overriding करते है
आप parent class के जिस method को child class में override करना चाहती है तो उसे parent class में virtual keyword के साथ ही डिफाइन करते है इसलिए आपको इसका syntax निचे दिए जा रहा है
public virtual return-type member-name { //code here }
child class में method को override करते समय आप उन्हें override keyword के साथ डिफाइन किया जाता है जिसका आपको syntax निचे दिया जा रहा है
public override return-type member-name { //code here }
c# में methods को override करना निचे आपको example के द्वारा समझा जा रहा है
using System; class colorClass { Public virtual void display() { Console.WriteLine(“this is color class”); } } Class redColorClass:colorClass { Public override void display() { Console.WriteLine(“this is yellow color class”); } } Class finalColorClass { Static void Main(string[] args) { colorClass obj=new colorClass(); obj.display(); obj=new redColorClass(); obj.display(); } }
उपर दिए गए example में आपको आउटपुट आपको इस प्रोग्राम का निचे generate होता है
this is color class this is yellow color class
reference-https://www.tutorialspoint.com/csharp/csharp_inheritance.htm
निवेदन:-आप सभी छात्र –छात्रों से निवेदन है की अगर आपको ये Topic(c# inheritance in hindi) या post अच्छा लगा हो तो कृपया आप इस वेबसाइट के बारे में अपने दोस्तों को जरुर बताये और -अगर कोई topic(c# inheritance in hindi) से संबधित प्रश्न हो तो कमेंट्स(comments) आपके लिए ही बना है और किसी Subject(c# inheritance in hindi) के लेकर भी कोई प्रश्न हो तो कमेंट करे