मुख्य अंतर – सुपरक्लास बनाम उपवर्ग
ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP) में, सिस्टम को ऑब्जेक्ट्स का उपयोग करके मॉडलिंग की जाती है। इन वस्तुओं को एक वर्ग का उपयोग करके बनाया गया है। एक वर्ग एक वस्तु बनाने के लिए एक खाका या विवरण है। ऑब्जेक्ट क्रिएशन को ऑब्जेक्ट इंस्टेंटेशन के रूप में भी जाना जाता है। प्रत्येक वस्तु अन्य वस्तुओं के साथ संचार कर रही है। ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग का उपयोग करके एक प्रोग्राम या सॉफ्टवेयर विकसित किया जा सकता है। OOP में वंशानुक्रम एक प्रमुख अवधारणा है। यह कोड पुन: प्रयोज्य में सुधार करता है। शुरुआत से एक कार्यक्रम को लागू करने के बजाय, यह पहले से मौजूद वर्ग के गुणों और विधियों को एक नए वर्ग में विरासत में लेने की अनुमति देता है। यह कार्यक्रम को अधिक प्रबंधनीय बनाने में मदद करता है।सुपरक्लास और सबक्लास दो शब्द हैं जो विरासत से संबंधित हैं। यह लेख सुपरक्लास और सबक्लास के बीच अंतर पर चर्चा करता है। सुपरक्लास और सबक्लास के बीच मुख्य अंतर यह है कि सुपरक्लास वह मौजूदा वर्ग है जिससे नई कक्षाएं ली गई हैं जबकि उपवर्ग वह नया वर्ग है जो सुपरक्लास के गुणों और विधियों को विरासत में मिला है।
सुपरक्लास क्या है?
विरासत में, मौजूदा वर्ग जिससे नए वर्ग प्राप्त होते हैं, सुपरक्लास के रूप में जाना जाता है। इसे मूल वर्ग या आधार वर्ग के रूप में भी जाना जाता है।
विभिन्न प्रकार के वंशानुक्रम हैं। निम्नलिखित उदाहरणों का उपयोग करके सचित्र हैं। A B और C को वर्ग मानें।
चित्र 01: वंशानुक्रम प्रकार
चित्र 02: हाइब्रिड वंशानुक्रम
उपरोक्त आरेखों के अनुसार, सुपरक्लास प्रत्येक वंशानुक्रम प्रकार से भिन्न होता है। सिंगल-लेवल इनहेरिटेंस में, A सुपरक्लास है। मल्टीलेवल इनहेरिटेंस में, A, B के लिए सुपरक्लास है और B, C के लिए सुपरक्लास है। पदानुक्रमित इनहेरिटेंस में A, B और C दोनों के लिए सुपरक्लास है। कई इनहेरिटेंस में A और B, C के लिए सुपरक्लास हैं।
हाइब्रिड इनहेरिटेंस मल्टी-लेवल और मल्टीपल इनहेरिटेंस का एक संयोजन है। बाईं ओर के आरेख में, A, B, C और B के लिए सुपरक्लास है, C, D के लिए सुपरक्लास हैं। दाईं ओर के आरेख में, A, B के लिए सुपरक्लास है और B, D, C के लिए सुपरक्लास हैं।
जावा में लिखे गए निम्न प्रोग्राम को देखें।
चित्र 03: जावा में वंशानुक्रम कार्यक्रम
उपरोक्त कार्यक्रम के अनुसार, कक्षा ए में योग () और उप () विधियाँ हैं। कक्षा बी में गुणा () विधि है। क्लास बी क्लास ए का विस्तार कर रहा है। इसलिए क्लास ए के गुण और तरीके क्लास बी द्वारा एक्सेस किए जा सकते हैं। इसलिए क्लास ए सुपरक्लास है। ऑब्जेक्ट बनाने के लिए कक्षा बी का संदर्भ प्रकार लिया जाता है। तो, सभी विधियाँ जैसे कि योग (), उप () और गुणा () वस्तु द्वारा सुलभ हैं। यदि ऑब्जेक्ट निर्माण के लिए सुपरक्लास संदर्भ प्रकार का उपयोग किया जाता है, तो कक्षा बी के सदस्यों को एक्सेस नहीं किया जा सकता है। जैसे एक ओबीजे=नया बी (); इसलिए, सुपरक्लास संदर्भ विधि को गुणा () नहीं कह सकता क्योंकि वह विधि वर्ग बी से संबंधित है।
उपवर्ग क्या है?
उपरोक्त आरेख के अनुसार, उपवर्ग प्रत्येक वंशानुक्रम प्रकार से भिन्न होते हैं। एकल वंशानुक्रम में, B उपवर्ग है। बहु-स्तरीय वंशानुक्रम में, B, A का उपवर्ग है और C, B का उपवर्ग है।पदानुक्रमित वंशानुक्रम में B और C, A के उपवर्ग हैं। एकाधिक वंशानुक्रमों में, C, A और B का उपवर्ग है।
हाइब्रिड इनहेरिटेंस में, बाईं ओर का आरेख, B और C, A के उपवर्ग हैं। D, B और C का उपवर्ग है। दाईं ओर दिए गए आरेख में, B, A का उपवर्ग है। C उपवर्ग है। बी और डी की
उपरोक्त इनहेरिटेंस प्रोग्राम के अनुसार, क्लास बी क्लास ए का विस्तार कर रहा है। इसलिए, क्लास ए के सभी गुण और तरीके क्लास बी द्वारा एक्सेस किए जा सकते हैं। क्लास बी नया क्लास है जो क्लास ए से इनहेरिट करता है। इसे के रूप में जाना जाता है उपवर्ग। इसे बाल वर्ग या व्युत्पन्न वर्ग के रूप में भी जाना जाता है। क्लास बी में मल्टीप्लाई () मेथड है और यह इनहेरिटेंस का उपयोग करके क्लास ए के सम () और सब () मेथड्स को भी एक्सेस कर सकता है।
सुपरक्लास और सबक्लास में क्या समानता है?
दोनों वंशानुक्रम से संबंधित हैं।
सुपरक्लास और सबक्लास में क्या अंतर है?
सुपरक्लास बनाम सबक्लास |
|
इनहेरिटेंस को लागू करते समय, मौजूदा वर्ग जिससे नई कक्षाएं ली गई हैं, वह सुपरक्लास है। | इनहेरिटेंस को लागू करते समय, सुपरक्लास के गुणों और विधियों को इनहेरिट करने वाला वर्ग उपवर्ग है। |
समानार्थी | |
सुपरक्लास को बेस क्लास, पैरेंट क्लास के रूप में जाना जाता है। | उपवर्ग को व्युत्पन्न वर्ग, चाइल्ड क्लास के रूप में जाना जाता है। |
कार्यक्षमता | |
एक सुपरक्लास उपवर्ग के गुणों और विधियों का उपयोग नहीं कर सकता। | एक उपवर्ग सुपरक्लास के गुणों और विधियों का उपयोग कर सकता है। |
एकल-स्तर-विरासत | |
एक सुपरक्लास है। | एक उपवर्ग है। |
पदानुक्रमित वंशानुक्रम | |
एक सुपरक्लास है | कई उपवर्ग हैं। |
एकाधिक विरासत | |
कई सुपरक्लास हैं। | एक उपवर्ग है। |
सारांश – सुपरक्लास बनाम उपवर्ग
विरासत OOP की एक अवधारणा है। यह एक मौजूदा वर्ग के गुणों और विधियों का उपयोग एक नए वर्ग द्वारा एक्सेस करने की अनुमति देता है। विरासत में मिला वर्ग सुपरक्लास है, और व्युत्पन्न वर्ग उपवर्ग है। सुपरक्लास और सबक्लास के बीच का अंतर यह है कि सुपरक्लास मौजूदा क्लास है जिसमें से नए क्लास व्युत्पन्न होते हैं जबकि सबक्लास नया क्लास होता है जो सुपरक्लास के गुणों और विधियों को प्राप्त करता है।
पीडीएफ सुपरक्लास बनाम सबक्लास डाउनलोड करें
आप इस लेख का पीडीएफ संस्करण डाउनलोड कर सकते हैं और उद्धरण नोट के अनुसार इसे ऑफ़लाइन उद्देश्यों के लिए उपयोग कर सकते हैं। कृपया पीडीएफ संस्करण यहां डाउनलोड करें सुपरक्लास और सबक्लास के बीच अंतर