extends और super
आधार class का पुनः उपयोग करने के लिए extends और parent constructor या methods को call करने के लिए super का उपयोग कीजिए। उदाहरण छोटे और पढ़ने में आसान रखिए
extends और super, CoddyKit पर Java Academy का एक निःशुल्क पाठ है। यह 3 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Java Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Java Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
विरासत क्या है?
विरासत किसी वर्ग को दूसरे वर्ग का पुनः उपयोग और विस्तार करने देती है। बाल-वर्ग को अभिभावक के fields और विधियाँ मिलती हैं और वह अपनी विधियाँ भी जोड़ सकता है। समान प्रकारों में सामान्य कोड साझा करने के लिए इसका उपयोग करें।
विस्तार का उपयोग
उपवर्ग बनाने के लिए विस्तार कीवर्ड का उपयोग करें। उदाहरण का विचार: Car, Vehicle का एक विशिष्ट प्रकार है। उपवर्ग अभिभावक का विशेष प्रकार होता है और उसके व्यवहार का पुनः उपयोग कर सकता है।
निर्माताओं में अभिभावक-कॉल
बाल-वर्ग के निर्माता के अंदर अभिभावक निर्माता को बुलाया जाता है। इससे पहले अभिभावक वाला हिस्सा आरंभ होता है। यदि आप इसे स्पष्ट रूप से नहीं बुलाते हैं, तो Java डिफ़ॉल्ट रूप से अभिभावक के बिना-तर्क वाले निर्माता को बुलाता है, यदि वह मौजूद हो।
super.method()
आप अभिभावक की विधि का संस्करण उपयोग करने के लिए super.someMethod() भी लिख सकते हैं। यह तब उपयोगी है जब बाल-वर्ग मूल तर्क के आसपास थोड़ा अतिरिक्त व्यवहार जोड़ना चाहता है।
कब उपयोग करें
स्पष्ट एक-प्रकार-का संबंध के लिए विरासत का उपयोग करें: Car, Vehicle का एक प्रकार है। यदि आप केवल कार्य-क्षमता का पुनः उपयोग करना चाहते हैं और एक-प्रकार-का संबंध उपयुक्त नहीं है, तो संयोजन को प्राथमिकता दें। शुरुआती शिक्षार्थियों के लिए वर्ग-वृक्ष उथले रखें।
कोड: विस्तार और अभिभावक-कॉल
कोड: Car, Vehicle का विस्तार करती है। निर्माता ब्रांड तय करने के लिए अभिभावक निर्माता को बुलाता है। बाल-वर्ग की विधि super.printInfo() बुलाती है और फिर अपनी पंक्ति जोड़ती है।
public class Main {
// Base class with a simple constructor and method
static class Vehicle {
String brand;
Vehicle(String brand) {
this.brand = brand; // parent sets its own field
}
void printInfo() {
System.out.println("Vehicle brand: " + brand);
}
}
// Subclass reuses Vehicle with extends
static class Car extends Vehicle {
int doors;
Car(String brand, int doors) {
super(brand); // call parent constructor first
this.doors = doors;
}
void printInfo() {
// Add extra info, but reuse parent behavior
super.printInfo(); // call parent method
System.out.println("Doors: " + doors);
}
}
public static void main(String[] args) {
// Create a Car (which is a Vehicle)
Car c = new Car("EcoMotors", 4);
c.printInfo(); // shows parent info then child info
}
}
अभिभावक-कॉल जाँच
त्वरित जाँच: उपवर्ग के निर्माता के अंदर अभिभावक-कॉल क्या करता है?
पुनरावलोकन
पुनरावलोकन: विस्तार एक-प्रकार-का संबंध स्थापित करता है; अभिभावक-निर्माता अभिभावक को आरंभ करता है और super.method() मूल तर्क का पुनः उपयोग करता है। उथली और सरल पदानुक्रमों को प्राथमिकता दें।
एआई शिक्षक के साथ Java सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 104
- पाठ
- 374
अक्सर पूछे जाने वाले प्रश्न
क्या “extends और super” पाठ निःशुल्क है?
हाँ—“extends और super” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Java Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Java Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
“extends और super” में मैं क्या सीखूँगा?
आधार class का पुनः उपयोग करने के लिए extends और parent constructor या methods को call करने के लिए super का उपयोग कीजिए। उदाहरण छोटे और पढ़ने में आसान रखिए आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Java Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Java Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Java Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 1वाँ पाठ है।
“extends और super” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Java Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Java Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- extends और super
- Method Overriding
- बहुरूपता और डायनेमिक बाइंडिंग