CodeGym /Java Blog /अनियमित /जावा में सुपर कीवर्ड
John Squirrels
स्तर 41
San Francisco

जावा में सुपर कीवर्ड

अनियमित ग्रुप में प्रकाशित
सुपर कीवर्ड का उपयोग विभिन्न स्थितियों में किया जाता है। इस पोस्ट के साथ आरंभ करने से पहले हम आपको बेहतर समझ के लिए जावा में वंशानुक्रम के बारे में जानने के लिए प्रोत्साहित करते हैं।

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

सुपर एक ऐसा कीवर्ड है जिसका उपयोग सुपरक्लास के ओवरराइड किए गए तरीकों को लागू करने के साथ-साथ सुपरक्लास के छिपे हुए क्षेत्रों को संदर्भित करने के लिए किया जा सकता है।

सुपर कीवर्ड का उपयोग क्यों और कब करें?

जावा सुपर कीवर्ड के तीन स्पष्ट उपयोग हैं।
  1. पैरेंट क्लास के डेटा सदस्यों तक पहुँचें जब चाइल्ड क्लास में भी समान नाम वाले डेटा सदस्य हों।
  2. चाइल्ड क्लास में पैरेंट क्लास के डिफॉल्ट या पैरामीटराइज्ड कंस्ट्रक्टर्स को कॉल करें ।
  3. यदि बच्चे के ओवरराइड किए गए तरीके हैं, तो चाइल्ड क्लास में पैरेंट क्लास के तरीकों को कॉल करें ।
आइए उपरोक्त तीनों मामलों को उदाहरणों की मदद से समझते हैं।

उदाहरण 1 - माता-पिता के डेटा सदस्यों तक पहुँचें

उदाहरण 1 दिखाता है कि कार -टाइप चाइल्ड क्लास में वाहन वर्ग की विशेषताओं या डेटा सदस्यों तक कैसे पहुँचा जा सकता है। सुनिश्चित करें कि आप अच्छी तरह से समझने के लिए नीचे दिए गए स्निपेट को चलाते हैं।

class Vehicle {

	String name = "vehicle";
}

class Car extends Vehicle {

	String name = "car";

	public void printMyName() {

		System.out.println(name);
	}

	public void printParentName() {

		// use super keyword to access 
		// parent's data member / attribute
		System.out.println(super.name);
	}

	public static void main(String[] args) {

		Car myCar = new Car();
		System.out.print("My Car's Name: "); 
		myCar.printMyName();
		
		// printing the parent's name 
		// using the super keyword 
		System.out.print("My Parent Vehicle's Name: "); 
		myCar.printParentName();
	}
}
उत्पादन
मेरी कार का नाम: कार मेरे माता-पिता वाहन का नाम: वाहन

उदाहरण 2 - चाइल्ड क्लास में पेरेंट कंस्ट्रक्टर्स को एक्सेस करें

स्पष्ट रूप से कॉल करने से सुपर () आपको चाइल्ड क्लास में पैरेंट क्लास के डिफॉल्ट या पैरामीटराइज्ड कंस्ट्रक्टर दोनों को एक्सेस करने की अनुमति देता है। यहाँ पैरामिट्रीकृत कंस्ट्रक्टर का एक उदाहरण दिया गया है। पैरेंट यानी शेप क्लास के कंस्ट्रक्टर को एट्रीब्यूट्स सेट करने के लिए चाइल्ड यानी ट्रायंगल क्लास में ( सुपर() का इस्तेमाल करके) कहा जाता है। अपने लिए आउटपुट का परीक्षण करने के लिए नीचे दिया गया प्रोग्राम चलाएँ।

public class Shape {

	String name;

	public Shape(String n) {

		System.out.println("Shape() parameterized constructor called!");
		name = n;
	}
}

class Triangle extends Shape {
	
	int sides = 3;
	String color;

	public Triangle(String n, String c) {
		
		// The super keyword calls the parameterized 
		// constructor of the parent (Shape) with 
		// 'n' as a parameter 
		super(n);
		
		System.out.println("Triangle() parameterized constructor called!");
		this.color = c;
	}

	public static void main(String[] args) {

		Triangle myTriangle = new Triangle("Triangle Alpha", "Yellow");
		
		System.out.println(myTriangle.name);
		System.out.println(myTriangle.color);
	}
}
उत्पादन
आकार () पैरामीटरयुक्त कन्स्ट्रक्टर कहा जाता है! Triangle() पैरामिट्रीकृत कंस्ट्रक्टर कहा जाता है! त्रिकोण अल्फा पीला
त्वरित चुनौती : अपने सीखने का परीक्षण करने के लिए डिफ़ॉल्ट कंस्ट्रक्टर का उपयोग करके उपरोक्त प्रोग्राम को फिर से डिज़ाइन करें। साथ ही, देखें कि सुपर() सुपर (तर्क) से अलग कैसे है ।

उदाहरण 3 - चाइल्ड क्लास में पैरेंट के ओवरराइड मेथड को एक्सेस करें

उदाहरण 3 दिखाता है कि आप पैरेंट क्लास के उन तरीकों तक कैसे पहुँच सकते हैं जिन्हें चाइल्ड क्लास भी परिभाषित करता है। नीचे दिए गए प्रोग्राम में पैरेंट क्लास साउंड एक मेथड वॉयस () को परिभाषित करता है । चाइल्ड क्लास ड्रम में भी इसी नाम से एक मेथड है यानी वॉइस () । इसका मतलब है कि उपवर्ग द्वारा विधि की आवाज को ओवरराइड किया गया है। बाल वर्ग में मूल वर्ग के तरीकों का उपयोग करने के लिए सुपर कीवर्ड कैसे आवश्यक है, यह जानने के लिए नीचे दिए गए प्रोग्राम को चलाएं ।

public class Sound {

	public void voice() {
		System.out.println("Play sound!");
	}
}

class Drum extends Sound {

	public void voice() {
		System.out.println("Play drums!");
	}

	public void play() {

		// The super keyword calls the 
		// voice() method of the parent 
		super.voice();
		voice();
	}
	
	public static void main(String[] args) {

		Drum myDrum = new Drum();
		myDrum.play();
	}
}
उत्पादन
आकार () पैरामीटरयुक्त कन्स्ट्रक्टर कहा जाता है! Triangle() पैरामिट्रीकृत कंस्ट्रक्टर कहा जाता है! त्रिकोण अल्फा पीला

निष्कर्ष

इस पोस्ट के अंत तक, हम आशा करते हैं कि आप जावा में सुपर कीवर्ड के कार्य को समझने में सक्षम होंगे। हम आपको अभ्यास द्वारा कोडिंग सीखने के लिए प्रोत्साहित करते हैं। अभ्यास के रूप में तर्क निर्माण सीखने की अंतिम कुंजी है। जब भी आप फंसेंगे यह पोस्ट वैसे भी आपका स्वागत करेगी। तब तक, हैप्पी लर्निंग!
टिप्पणियां
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION