If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
Polymorphism का अर्थ है many forms , यह यह एक geek भाषा का शब्द है दो शब्दों में मिलकर बना हुआ है poly(many) और morph(forms) . सरल शब्दों में कहें तो , polymorphism का मतलब है many forms।
Polymorphism एक ability है जिसके द्वारा एक तरह के resources को आप different - different तरीके से access कर सकते हैं। इस concept को normally Inheritance में use किया जाता है।
polymorphism को दो तरह से को achieve किया जाता है -
इस प्रकार के polymorphism को Method Overloading / Operator Overloading के द्वारा achieve किया जाता है। इसे static या Early Binding भी कहते हैं क्योंकि इसमें parameter compile time bind होते हैं। Overloaded Methods को pass किये गए arguments की संख्या के according compile time में invoke किया जाता है। इसमें compiler , compile time में decide करके सबसे appropriate method को select करता है।
File : Main.java
class Calculate {
static int sum(int a,int b) {
return a+b;
}
// define another method with different no of parameters.
static int sum(int a,int b,int c) {
return a+b+c;
}
}
public class Main {
public static void main(String[] args) {
System.out.println(Calculate.sum(23,2));
System.out.println(Calculate.sum(3,4,34));
}
}
javac Main.java
java Main
25
41
इस प्रकार के Polymorphism को Method Overriding के द्वारा achieve किया जाता है। इसमें object method को base class के अलावा child class में भी define कर दिया जाता है ,जैसा कि आप पिछले topic में पढ़ा चुके हैं।
Runtime polymorphism को Dynamic Method Dispatch भी कहते हैं , जहाँ overridden method को runtime पर resolve किया जाता है।
File : Dog.java
class Animal{
void eat() {
System.out.println("An animal is eating.");
}
}
class Horse extends Animal {
void eat() {
System.out.println("Horse eats grass.");
}
}
class Dog extends Animal {
void eat() {
System.out.println("Dog eats fisha and vegetables.");
}
}
// main class.
public class Main {
public static void main(String args[]){
Dog d = new Dog(); // create Dog object.
Horse h = new Horse(); // create Horse Object.
d.eat();
h.eat();
}
}
javac Dog.java
java Dog
Dog eats fisha and vegetables.
Horse eats grass.