What is Inheritance in Java in Hindi – Single, Multilevel और Hierarchical

हेल्लो दोस्तों, हमारी Java Programming सीरीज में आपका स्वागत है। पिछली पोस्ट में हमने Class और Object का मतलब समझा था। आज हम OOPs का पहला और सबसे महत्वपूर्ण स्तम्भ (Pillar) देखेंगे – Inheritance in Java in Hindi (इनहेरिटेंस)

सोचिये, अगर आपके पिताजी के पास एक घर और कार है, तो क्या आपको वो घर और कार दोबारा खरीदने की जरुरत है? नहीं! वो आपको “विरासत” (Inheritance) में मिल जाती हैं। कोडिंग में भी ऐसा ही होता है। अगर हमने एक क्लास में कोड लिख दिया है, तो हम दूसरी क्लास में उसे दोबारा लिखने की बजाय, उसे “Inherit” (उधार) ले सकते हैं।

इस पोस्ट में हम जानेंगे कि Inheritance क्या है?, extends कीवर्ड का उपयोग कैसे करें और इसके प्रकार (Types) क्या हैं?

What is Inheritance in Java in Hindi? – जावा में इनहेरिटेंस क्या है?

Inheritance एक ऐसी प्रक्रिया है जिसमें एक क्लास (Child Class) दूसरी क्लास (Parent Class) की प्रॉपर्टीज (Variables) और बिहेवियर (Methods) को अपना लेती है।

फायदा: कोड को दोबारा नहीं लिखना पड़ता (Code Reusability)।

Father-Son Example (बाप-बेटे का रिश्ता)

  • Parent Class (Super Class): पिता (जिसके पास पहले से गुण हैं)।
  • Child Class (Sub Class): बेटा (जो पिता के गुण लेता है + अपने खुद के नए गुण भी जोड़ सकता है)।

Syntax & ‘extends’ Keyword

विरासत लेने के लिए हम extends कीवर्ड का इस्तेमाल करते हैं।

class Child extends Parent {
    // अब Child के पास Parent का सब कुछ आ गया
}

Types of Inheritance in Java in Hindi – जावा में इनहेरिटेंस के प्रकार

Java में मुख्य रूप से 3 तरह के इनहेरिटेंस सपोर्टेड हैं:

1. Single Inheritance

जब जब किसी चीज का मालिक सिर्फ एक इंसान होता है तो वह सिंगल इनहेरिटेंस कहलाता है।
(Class B extends Class A)

2. Multilevel Inheritance

दादा जी -> पिता जी -> बेटा।
(Class C extends Class B, Class B extends Class A)
यहाँ बेटे (C) को पिता (B) और दादा (A) दोनों के गुण मिलते हैं।

3. Hierarchical Inheritance

एक पिता के एक से कई ज्यादा बेटे होते है तो उसे Hierarchical Inheritance कहा जाता है।
(Class B extends Class A, Class C extends Class A)
यहाँ एक ही Parent Class से कई Child Classes निकलती हैं।

(नोट: Java में Multiple Inheritance (एक बेटे के दो पिता) क्लासेस के जरिये सपोर्ट नहीं होता। इसे हम Interface के जरिये करते हैं।)

Java Inheritance Code Example

आइये Single Inheritance का एक आसान उदाहरण देखते हैं।

// Parent Class
class Animal {
    void eat() {
        System.out.println("This animal eats food.");
    }
}

// Child Class (extends Animal)
class Dog extends Animal {
    void bark() {
        System.out.println("The dog barks.");
    }
}

class Main {
    public static void main(String args[]) {
        Dog d = new Dog();
        
        // Dog अपने मेथड को तो कॉल कर ही सकता है
        d.bark();
        
        // जादू: Dog अपने Parent (Animal) के मेथड को भी कॉल कर सकता है
        d.eat(); 
    }
}

Output:
The dog barks.
This animal eats food.

Conclusion – निष्कर्ष

हमें उम्मीद है कि इस पोस्ट से आपने Inheritance in Java in Hindi को अच्छे से समझ लिया होगा।

याद रखें: जब भी आपको लगे कि दो क्लासेस में “Is-A” रिश्ता है (जैसे Dog is an Animal), तो वहां Inheritance यूज़ करें।

अगली पोस्ट में हम OOPs का दूसरा पिलर “Polymorphism in Java” देखेंगे, जिसका मतलब है “एक नाम, अनेक काम”।

FAQs

Q1. Java में Multiple Inheritance क्यों नहीं होता?
Ans: क्योंकि अगर दो Parents के पास सेम नाम का मेथड हो, तो Child कंफ्यूज हो जायेगा कि किसका मेथड कॉल करें (इसे Diamond Problem कहते हैं)।

Q2. Super Class और Sub Class क्या है?
Ans: जिससे प्रॉपर्टी ली जा रही है वो Super (Parent) है, और जो ले रहा है वो Sub (Child) है।

Q3. क्या हम Private members को inherit कर सकते हैं?
Ans: नहीं, Parent class की प्राइवेट चीजों को Child class एक्सेस नहीं कर सकती।

Leave a Comment

Your email address will not be published. Required fields are marked *