Method Overriding
सीखिए कि subclasses व्यवहार बदलने या बढ़ाने के लिए parent के methods को फिर से कैसे परिभाषित करते हैं
Method Overriding, CoddyKit पर Java Academy का एक निःशुल्क पाठ है। यह 3 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Java Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Java Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
विधि का पुनर्परिभाषण
विधि का पुनर्परिभाषण का अर्थ है उपवर्ग में अभिभावक की विधि को फिर से परिभाषित करना। विधि का नाम, पैरामीटर और लौटाए जाने वाला प्रकार समान होता है, लेकिन उसका नया शरीर होता है। इससे प्रत्येक उपवर्ग अपना विशिष्ट व्यवहार दे सकता है।
विधि को पुनर्परिभाषित क्यों करें?
पुनर्परिभाषण अनुकूलन की सुविधा देता है। उदाहरण के लिए, Dog और बिल्ली दोनों पशु हैं, लेकिन प्रत्येक अलग ध्वनि निकालता है। नए विधि-नाम लिखने के बजाय वे समान विधि को पुनर्परिभाषित करते हैं, जिससे उपयोग एकसमान रहता है।
पुनर्परिभाषण के नियम
नियम: विधि का हस्ताक्षर बिल्कुल समान होना चाहिए, लौटाए जाने वाला प्रकार संगत होना चाहिए और पहुँच अधिक प्रतिबंधित नहीं हो सकती। संकलन के समय गलतियाँ पकड़ने के लिए @Override अंकन का उपयोग करें।
super.method() का उपयोग करना
आप super.method() की सहायता से मूल वर्ग की विधि को अभी भी कॉल कर सकते हैं। इससे आप व्यवहार को पूरी तरह बदलने के बजाय उसका विस्तार कर सकते हैं और एक ही कॉल में पुराने तथा नए तर्क को मिला सकते हैं।
गलतियाँ
गलतियाँ: पैरामीटर के प्रकार बदलने से ओवरलोडिंग बनती है, ओवरराइडिंग नहीं। @Override भूलने से टाइपिंग की गलतियाँ छिप सकती हैं। पहुँच को सीमित करने से भी बचें, जैसे सार्वजनिक → निजी, क्योंकि इससे संकलन त्रुटियाँ आती हैं।
कोड: ओवरराइडिंग का उदाहरण
कोड: Dog और Cat, Animal से speak() को ओवरराइड करते हैं। Animal के रूप में संदर्भित किए जाने पर भी उपवर्ग वाला संस्करण चलता है, जो वास्तविक बहुरूपता दिखाता है।
public class Main {
static class Animal {
void speak() {
System.out.println("Some generic animal sound");
}
}
static class Dog extends Animal {
@Override
void speak() {
System.out.println("Woof!");
}
}
static class Cat extends Animal {
@Override
void speak() {
System.out.println("Meow!");
}
}
public static void main(String[] args) {
Animal a1 = new Dog(); // upcast to Animal
Animal a2 = new Cat();
a1.speak(); // runs Dog version
a2.speak(); // runs Cat version
}
}
ओवरराइडिंग की जाँच
त्वरित जाँच: विधि ओवरराइडिंग उपवर्ग को क्या करने देती है?
पुनरावलोकन
पुनरावलोकन: ओवरराइडिंग समान हस्ताक्षर वाली विधियों को फिर से परिभाषित करती है, जिससे उपवर्ग व्यवहार को अपनी आवश्यकता के अनुसार ढाल सकते हैं। @Override का उपयोग करें और आवश्यकता होने पर मूल वर्ग की विधि को कॉल करें।
एआई शिक्षक के साथ Java सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 104
- पाठ
- 374
अक्सर पूछे जाने वाले प्रश्न
क्या “Method Overriding” पाठ निःशुल्क है?
हाँ—“Method Overriding” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Java Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Java Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
“Method Overriding” में मैं क्या सीखूँगा?
सीखिए कि subclasses व्यवहार बदलने या बढ़ाने के लिए parent के methods को फिर से कैसे परिभाषित करते हैं आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Java Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Java Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Java Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 2वाँ पाठ है।
“Method Overriding” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Java Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Java Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- extends और super
- Method Overriding
- बहुरूपता और डायनेमिक बाइंडिंग