बहुरूपता और डायनेमिक बाइंडिंग
बहुरूपता समझिए: एक interface, कई implementations। डायनेमिक बाइंडिंग सीखिए, जिसमें चलने वाला method object के प्रकार पर निर्भर करता है
बहुरूपता और डायनेमिक बाइंडिंग, CoddyKit पर Java Academy का एक निःशुल्क पाठ है। यह 3 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Java Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Java Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
परिभाषा
बहुरूपता का अर्थ है कि एक संदर्भ प्रकार अलग-अलग उपवर्गों के ऑब्जेक्ट को संदर्भित कर सकता है। जब आप किसी विधि को कॉल करते हैं, तो चर के प्रकार के बजाय वास्तविक ऑब्जेक्ट के आधार पर सही संस्करण चलता है।
यह उपयोगी क्यों है?
इससे आप लचीला और दोबारा उपयोग किया जा सकने वाला कोड लिख सकते हैं। उदाहरण के लिए, Animal की एक सूची में Dog और Cat रखे जा सकते हैं और प्रत्येक के लिए speak() को सही ढंग से कॉल किया जा सकता है। आपको अलग-अलग कोड मार्गों की आवश्यकता नहीं होती।
गतिशील बंधन
गतिशील बंधन का अर्थ है कि कौन-सा विधि-शरीर चलाना है, इसका निर्णय रनटाइम पर होता है। विधि चुनते समय JVM केवल घोषित प्रकार को नहीं, बल्कि वास्तविक ऑब्जेक्ट के प्रकार को देखता है।
एकसमान कॉल
बहुरूपता के साथ आप सभी उपवर्गों के साथ एक ही तरीके से काम कर सकते हैं। प्रत्येक ऑब्जेक्ट पर एक ही विधि को कॉल करने पर काम सही होता है और JVM सही संस्करण चुनता है। इससे कोड अधिक साफ़ और छोटा बनता है।
रोज़मर्रा का उदाहरण
उदाहरण: Shape मूल वर्ग है। Circle और वर्ग, चित्र बनाने वाली विधि को ओवरराइड करते हैं। Shape की सूची पर चलने वाला लूप प्रत्येक ऑब्जेक्ट पर सही विधि चलाता है। यह दैनिक प्रोग्रामिंग में बहुरूपता का उदाहरण है।
कोड: बहुरूपता का उदाहरण
कोड: Dog और Cat, speak() को ओवरराइड करते हैं। Animal की एक सरणी में अलग-अलग ऑब्जेक्ट रखे जाते हैं। प्रत्येक कॉल अपने-आप सही संस्करण चलाती है, जो बहुरूपता को कार्य करते हुए दिखाता है।
public class Main {
static class Animal {
void speak() {
System.out.println("Some 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[] pets = { new Dog(), new Cat(), new Animal() };
for (Animal a : pets) {
a.speak(); // dynamic binding picks correct version
}
}
}
बहुरूपता की जाँच
त्वरित जाँच: Java में बहुरूपता आपको क्या करने देती है?
पुनरावलोकन
पुनरावलोकन: बहुरूपता = एक संदर्भ, अनेक रूप। गतिशील बंधन रनटाइम पर विधि चुनता है, जिससे कोड लचीला और साफ़ रहता है।
एआई शिक्षक के साथ Java सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 104
- पाठ
- 374
अक्सर पूछे जाने वाले प्रश्न
क्या “बहुरूपता और डायनेमिक बाइंडिंग” पाठ निःशुल्क है?
हाँ—“बहुरूपता और डायनेमिक बाइंडिंग” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Java Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Java Academy पाठ्यक्रम में कुल 3 पाठ शामिल हैं।
“बहुरूपता और डायनेमिक बाइंडिंग” में मैं क्या सीखूँगा?
बहुरूपता समझिए: एक interface, कई implementations। डायनेमिक बाइंडिंग सीखिए, जिसमें चलने वाला method object के प्रकार पर निर्भर करता है आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Java Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Java Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Java Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 3 में से 3वाँ पाठ है।
“बहुरूपता और डायनेमिक बाइंडिंग” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Java Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Java Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- extends और super
- Method Overriding
- बहुरूपता और डायनेमिक बाइंडिंग