जावा में इस और सुपर के बीच अंतर

विषयसूची:

जावा में इस और सुपर के बीच अंतर
जावा में इस और सुपर के बीच अंतर

वीडियो: जावा में इस और सुपर के बीच अंतर

वीडियो: जावा में इस और सुपर के बीच अंतर
वीडियो: 14 वर्षो के वनवास मे श्री राम जी ने खाया था ये फल । श्री राम कुंद फल को खाने का सौभाग्य मुझे मिला 2024, दिसंबर
Anonim

मुख्य अंतर - जावा में यह बनाम सुपर

जावा प्रोग्रामिंग में कीवर्ड 'दिस' और 'सुपर' का इस्तेमाल किया जाता है। इन खोजशब्दों को चर या किसी अन्य पहचानकर्ता नाम के रूप में उपयोग नहीं किया जा सकता है। जावा ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग (OOP) को सपोर्ट करता है। प्रोग्राम या सॉफ्टवेयर को वस्तुओं का उपयोग करके तैयार किया जा सकता है। वस्तुओं को कक्षाओं का उपयोग करके तृप्त किया जाता है। OOP का एक स्तंभ वंशानुक्रम है। यह कोड पुन: प्रयोज्य प्रदान करता है। जो वर्ग पहले से मौजूद हैं वे सुपरक्लास हैं, और व्युत्पन्न वर्ग उपवर्ग हैं। सुपर क्लास की किसी वस्तु को संदर्भित करने के लिए सुपर कीवर्ड का उपयोग किया जा सकता है। सिस्टम में कई ऑब्जेक्ट हैं। वर्तमान वस्तु को संदर्भित करने के लिए 'यह' कीवर्ड का उपयोग किया जाता है।इस और सुपर के बीच महत्वपूर्ण अंतर यह है कि 'यह' एक संदर्भ चर है जिसका उपयोग वर्तमान वस्तु को संदर्भित करने के लिए किया जाता है जबकि 'सुपर' एक संदर्भ चर है जिसका उपयोग तत्काल सुपरक्लास ऑब्जेक्ट को संदर्भित करने के लिए किया जाता है।

जावा में यह क्या है?

कीवर्ड 'यह' किसी मौजूदा वस्तु को संदर्भित करने के लिए प्रयोग किया जाता है। दिए गए जावा प्रोग्राम को देखें।

जावा में इसके और सुपर के बीच अंतर
जावा में इसके और सुपर के बीच अंतर

चित्र 01: इस कीवर्ड का उपयोग कर जावा प्रोग्राम

जावा में तीन तरह के वेरिएबल होते हैं। वे उदाहरण चर, स्थानीय चर और वर्ग चर हैं। उपरोक्त कार्यक्रम के अनुसार, वर्ग कर्मचारी के दो उदाहरण चर हैं। वे आईडी और नाम हैं। स्थानीय चर वे चर हैं जो विधियों से संबंधित हैं। वर्ग चर सभी वस्तुओं द्वारा साझा किए जाते हैं। आईडी और नाम कर्मचारी कंस्ट्रक्टर को पास कर दिए जाते हैं। यदि प्रोग्रामर id=id लिखता है; यह इंस्टेंस वैरिएबल को इनिशियलाइज़ नहीं करेगा क्योंकि कंस्ट्रक्टर के पास पहले से ही आईडी और नाम है।उदाहरण चर के लिए कोई मान नहीं हैं। तो, उन्हें प्रिंट करना शून्य प्रदर्शित करेगा। इसका उपयोग करते समय, यह वर्तमान वस्तु को संदर्भित करता है। इसलिए, कंस्ट्रक्टर को आईडी और नाम देने से इंस्टेंस वेरिएबल सेट हो सकते हैं।

'इस' कीवर्ड का इस्तेमाल मौजूदा क्लास मेथड को लागू करने के लिए किया जा सकता है। दिए गए जावा प्रोग्राम को देखें।

पब्लिक क्लास दिसडेमो{

सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args) {

माईक्लास मायक्लास=नया मायक्लास ();

myClass. B ();

}

}

क्लास मायक्लास{

सार्वजनिक शून्य ए (){

System.out.println(“A”);

}

सार्वजनिक शून्य बी(){

System.out.printltn(“B”);

यह।ए ();

}

}

Myclass वर्ग में दो विधियाँ हैं। वे विधि ए और बी हैं। माईक्लास का ऑब्जेक्ट बनाते समय और विधि बी को लागू करते समय आउटपुट के रूप में बी, ए प्रिंट करेगा। विधि B में, B को प्रिंट करने के बाद इस प्रकार का एक कथन है। A ()। इसका उपयोग करते हुए, वर्तमान वर्ग विधि लागू की गई।

वर्तमान क्लास कंस्ट्रक्टर को इनवाइट करने के लिए इस कीवर्ड का उपयोग करना भी संभव है। दिए गए प्रोग्राम को देखें।

पब्लिक क्लास दिसडेमो{

सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args) {

ए ओब्ज=नया ए(5);

}

}

कक्षा ए{

सार्वजनिक ए (){

System.out.println(“कन्स्ट्रक्टर ए”);

}

सार्वजनिक ए(इंट एक्स){

यह ();

System.out.println(“पैरामीटरेटेड कंस्ट्रक्टर ए”);

}

}

उपरोक्त प्रोग्राम के अनुसार, क्लास ए में एक डिफॉल्ट कंस्ट्रक्टर और एक पैरामीटराइज्ड कंस्ट्रक्टर है। A का ऑब्जेक्ट बनाते समय, पैरामीटरयुक्त कंस्ट्रक्टर को कहा जाता है। पैरामीटरयुक्त कंस्ट्रक्टर में, इस तरह का एक बयान है (); यह वर्तमान क्लास कंस्ट्रक्टर को कॉल करेगा जो कि A() है।

जावा में सुपर क्या है?

'सुपर' कीवर्ड इनहेरिटेंस से संबंधित है। विरासत वस्तु उन्मुख प्रोग्रामिंग की एक प्रमुख अवधारणा है। यह पहले से मौजूद वर्ग के गुणों और विधियों को एक नए वर्ग में उपयोग करने की अनुमति देता है। पहले से मौजूद वर्ग को मूल वर्ग या सुपरक्लास के रूप में जाना जाता है। नई कक्षा को बाल वर्ग या उपवर्ग के रूप में जाना जाता है।

‘सुपर’ एक संदर्भ चर है जिसका उपयोग तत्काल मूल वर्ग वस्तु को संदर्भित करने के लिए किया जाता है। सुपर कीवर्ड तत्काल पैरेंट क्लास इंस्टेंस वेरिएबल को संदर्भित कर सकता है या तत्काल पैरेंट क्लास विधि को लागू कर सकता है। सुपर () का उपयोग तत्काल पैरेंट क्लास कंस्ट्रक्टर को आमंत्रित करने के लिए किया जाता है।

मान लें कि ए और बी के रूप में दो वर्ग हैं। क्लास ए सुपरक्लास है और क्लास बी सबक्लास है। कक्षा ए, बी दोनों में प्रदर्शन विधि है।

पब्लिक क्लास ए{

सार्वजनिक शून्य प्रदर्शन (){

System.out.println(“A”);

}

}

सार्वजनिक वर्ग बी का विस्तार ए{

सार्वजनिक शून्य प्रदर्शन (){

System.out.println(“B”);

}

}

बी टाइप का ऑब्जेक्ट बनाते समय और मेथड डिस्प्ले को कॉल करते समय, यह आउटपुट बी देगा। क्लास ए में डिस्प्ले मेथड है, लेकिन इसे सबक्लास बी डिस्प्ले मेथड द्वारा ओवरराइड किया जाता है। यदि प्रोग्रामर कक्षा ए में डिस्प्ले विधि को कॉल करना चाहता है, तो वह सुपर कीवर्ड का उपयोग कर सकता है। दिए गए जावा प्रोग्राम को देखें।

जावा में इसके और सुपर के बीच अंतर_चित्र 02
जावा में इसके और सुपर के बीच अंतर_चित्र 02

चित्र 02: सुपर कीवर्ड का उपयोग कर जावा प्रोग्राम

उपरोक्त कार्यक्रम के अनुसार, कक्षा ए में मान 10 के साथ संख्या नामक एक चर है। कक्षा बी ए का विस्तार करती है और मूल्य 20 के साथ एक चर नामित संख्या है। आम तौर पर, टाइप बी की वस्तु बनाते समय और प्रदर्शन विधि को कॉल करते समय उपवर्ग में नंबर देना चाहिए क्योंकि सुपरक्लास मान नए वर्ग द्वारा ओवरराइड किया गया है।Super.num का उपयोग करके, सुपरक्लास संख्या मान मुद्रित होता है।

सुपरक्लास कंस्ट्रक्टर को कॉल करने के लिए सुपर () का उपयोग किया जा सकता है। नीचे दिए गए कार्यक्रम का संदर्भ लें।

पब्लिक क्लास मेन {

सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args) {

बी ओबीजे=नया बी ();

}

}

कक्षा ए{

ए (){

System.out.println(“A”);

}

}

कक्षा बी का विस्तार ए{

बी (){

सुपर ();

System.out.println(“B”);

}

}

उपरोक्त प्रोग्राम के अनुसार, क्लास ए में कंस्ट्रक्टर ए () होता है। क्लास बी में कंस्ट्रक्टर बी () है। क्लास बी क्लास ए का विस्तार करता है। टाइप बी का ऑब्जेक्ट बनाते समय, यह ए, बी को आउटपुट के रूप में प्रिंट करेगा। B () कंस्ट्रक्टर के पास सुपर () है। इसलिए, पहले ए कंस्ट्रक्टर को बुलाया जाता है और फिर बी में जाता है।भले ही सुपर () नहीं लिखा गया हो, डिफ़ॉल्ट रूप से पैरेंट कंस्ट्रक्टर को कहा जाता है।

विधि का उपयोग करने वाला सुपर इस प्रकार है।

जावा में इसके और सुपर के बीच महत्वपूर्ण अंतर
जावा में इसके और सुपर के बीच महत्वपूर्ण अंतर

चित्र 03: जावा प्रोग्राम जो सुपरक्लास पद्धति को लागू करता है

उपरोक्त कार्यक्रम के अनुसार कक्षा ए में प्रदर्शन विधि है। क्लास बी में डिस्प्ले मेथड भी है। क्लास बी ए का विस्तार करता है। टाइप बी का ऑब्जेक्ट बनाते समय और डिस्प्ले मेथड को कॉल करने से आउटपुट ए और बी के रूप में मिलेगा। क्लास बी डिस्प्ले मेथड में, क्लास ए डिस्प्ले मेथड को सुपर.डिस्प्ले () का उपयोग करके कहा जाता है। वह विधि पहले "ए" प्रिंट करती है। फिर "बी" प्रिंट करता है।

इसमें और सुपर में क्या समानता है?

दोनों जावा प्रोग्रामिंग में कीवर्ड हैं।

इसमें और सुपर में क्या अंतर है?

यह बनाम सुपर

‘यह’ एक संदर्भ चर है जिसका उपयोग वर्तमान वस्तु को संदर्भित करने के लिए किया जाता है। द 'सुपर' एक रेफरेंस वेरिएबल है जिसका इस्तेमाल तत्काल सुपरक्लास ऑब्जेक्ट को रेफर करने के लिए किया जाता है।
उदाहरण चर
इसका उपयोग करके एक वर्तमान वर्ग आवृत्ति चर को संदर्भित किया जा सकता है। सुपरक्लास आवृत्ति चर को सुपर का उपयोग करके संदर्भित किया जा सकता है।
कक्षा पद्धति
इसका उपयोग करके वर्तमान वर्ग पद्धति को लागू किया जा सकता है। सुपरक्लास विधि को सुपर का उपयोग करके लागू किया जा सकता है।
कंस्ट्रक्टर
इस() का उपयोग करके वर्तमान क्लास कंस्ट्रक्टर को लागू किया जा सकता है। सुपरक्लास कंस्ट्रक्टर को सुपर() का उपयोग करके बुलाया जा सकता है।

सारांश - जावा में यह बनाम सुपर

जावा में कीवर्ड 'दिस' और 'सुपर' का इस्तेमाल किया जाता है। कीवर्ड का उपयोग चर या किसी अन्य पहचानकर्ता नाम के रूप में नहीं किया जा सकता है। वे एक जैसे लगते हैं, लेकिन उनमें अंतर है। इस और सुपर के बीच का अंतर यह है कि सुपर एक संदर्भ चर है जिसका उपयोग तत्काल सुपरक्लास ऑब्जेक्ट को संदर्भित करने के लिए किया जाता है जबकि यह एक संदर्भ चर है जो वर्तमान ऑब्जेक्ट को संदर्भित करता है।

इस बनाम सुपर का पीडीएफ जावा में डाउनलोड करें

आप इस लेख का पीडीएफ संस्करण डाउनलोड कर सकते हैं और उद्धरण नोट के अनुसार इसे ऑफ़लाइन उद्देश्यों के लिए उपयोग कर सकते हैं। कृपया पीडीएफ संस्करण यहां डाउनलोड करें: जावा में इस और सुपर के बीच अंतर

सिफारिश की: