जावा में Inheritance एक mechanism है जिसमें एक वस्तु किसी मूल वस्तु के सभी गुणों और व्यवहारों को प्राप्त करती है। Inheritance OOP(ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग) का एक महत्वपूर्ण pillar है। यह जावा में mechanism है जिसके द्वारा एक class को किसी अन्य class की विशेषताओं (fields and methods) का inherit होने की अनुमति है।
जावा में inheritance को इसलिए create किया जाता क्योंकि मौजूदा कक्षाओं पर बनाए गए new classes create किया जा सके। जब आप किसी मौजूदा क्लास से inherit होते हैं, तो आप parent class के methods और fields का पुन: उपयोग कर सकते हैं। इसके अलावा, आप अपनी वर्तमान कक्षा में भी नए तरीके और फ़ील्ड को जोड़ सकते हैं।
Method Overriding के लिए inheritance का उपयोग जावा प्रोग्रामिंग में किया जाता है
किसी भी कोड पुन: प्रयोज्यता करने के लिए जावा प्रोग्रामिंग inheritance का उपयोग किया जाता है।
Inheritance में उपयोग की जाने वाली शर्तें इस प्रकार है −
Class: − एक class objects का एक समूह है जिसमें आम गुण होते हैं। यह एक टेम्पलेट या ब्लूप्रिंट है जिससे ऑब्जेक्ट बनाए जाते हैं।
Sub Class/Child Class: − Subclass एक class है जो अन्य class inherits में मिलता है। इसे derived class, extended class, और child class भी कहा जाता है।
Super Class/Parent Class: − Superclass वह वर्ग है जहां से subclass सुविधाओं को inherits में लिया जाता है। इसे बेस क्लास या पेरेंट क्लास भी कहा जाता है।
class base { ..... ..... } class derive extends base { ..... ..... }
Single Inheritance
Multi-level Inheritance
Hierarchical Inheritance
जब एक class अपनी बेस क्लास से प्राप्त होता है, तो इस प्रकार की विरासत को single inheritance कहा जाता है। ऊपर खींचे गए figure में कक्षा ए को बेस क्लास के रूप में रखा गया है, और कक्षा बी उस बेस क्लास से ली गई है।
इस प्रकार की inheritance में, एक derived class के किसी अन्य derived class से बनाया जाता है और इसमें कई स्तर हो सकते हैं।
इस प्रकार की inheritance में, एक से अधिक derived classes हैं जिनको single base class से create किया गया हैं।