बहुरूपता सबसे महत्वपूर्ण ओओपी अवधारणाओं में से एक है। यह एक अवधारणा है जिसके द्वारा हम एक ही कार्य को कई तरीकों से कर सकते हैं। बहुरूपता दो प्रकार के होते हैं एक है संकलन-समय बहुरूपता और दूसरा है रन-टाइम बहुरूपता।
मेथड ओवरलोडिंग कंपाइल टाइम पॉलीमॉर्फिज्म का उदाहरण है और मेथड ओवरराइडिंग रन-टाइम पॉलीमॉर्फिज्म का उदाहरण है।
Sr. नहीं. | <वें शैली ="चौड़ाई:11.0204%; टेक्स्ट-संरेखण:केंद्र;">कुंजीसंकलन-समय बहुरूपता | रनटाइम बहुरूपता | |
---|---|---|---|
1 | मूलभूत | संकलन समय बहुरूपता का अर्थ है संकलन समय पर बाध्यकारी हो रहा है | असमय बहुरूपता जहां रन टाइम पर हमें पता चला कि कौन सी विधि लागू करने जा रही है |
2 | स्थिर/गतिशील बाइंडिंग | <टीडी> इसे डायनेमिक बाइंडिंग के माध्यम से प्राप्त किया जा सकता है | |
4. | विरासत | विरासत शामिल नहीं है | विरासत शामिल है |
5 | उदाहरण | विधि ओवरलोडिंग संकलन समय बहुरूपता का एक उदाहरण है | विधि ओवरराइडिंग रनटाइम बहुरूपता का एक उदाहरण है |
संकलन-समय बहुरूपता का उदाहरण
public class Main { public static void main(String args[]) { CompileTimePloymorphismExample obj = new CompileTimePloymorphismExample(); obj.display(); obj.display("Polymorphism"); } } class CompileTimePloymorphismExample { void display() { System.out.println("In Display without parameter"); } void display(String value) { System.out.println("In Display with parameter" + value); } }
रनटाइम बहुरूपता का उदाहरण
public class Main { public static void main(String args[]) { RunTimePolymorphismParentClassExample obj = new RunTimePolymorphismSubClassExample(); obj.display(); } } class RunTimePolymorphismParentClassExample { public void display() { System.out.println("Overridden Method"); } } public class RunTimePolymorphismSubClassExample extends RunTimePolymorphismParentExample { public void display() { System.out.println("Overriding Method"); } }