polymorphism meaning code example
Example 1: what is polymorphism
The word polymorphism means having many forms. In simple words, we can define polymorphism as the ability of a message to be displayed in more than one form. Real life example of polymorphism: A person at the same time can have different characteristic. Like a man at the same time is a father, a husband, an employee.
Example 2: what is polymorphism
POLYMORPHISM: It is an ability of object to behave in multiple
form. The most common use of polymorphism is Java, when a
parent class reference type of variable is used to refer to a child
class object.
In my framework
E.g.: WebDriver driver = new ChromeDriver();
We use method overloading and overriding to achieve
Polymorphism.
There are two types of achieving Polymorphism
Upcasting & Downcasting
Upcasting is casting a subtype to a supertype,
going up in the inheritance tree.
It is done implicitly
in order to use method available on any
interface/class, the object should be of
same class or of class implementing the interface.
WebDriver driver = new ChromeDriver();
or
TakeScreenShot ts = new ChromeDriver();
Downcasting is casting to a subtype,
going down in the inheritance tree.
It is done to access sub class features.
It has to be done manually
ChromeDriver driver = (ChromeDriver)Webdriver;
Example 3: java polymorphism
class Animal {
public void animalSound() {
System.out.println("The animal makes a sound");
}
}
class Pig extends Animal {
public void animalSound() {//override superclass method
System.out.println("The pig says: wee wee");
}
}
class Dog extends Animal {
public void animalSound() {//override superclass method
System.out.println("The dog says: bow wow");
}
}
class Main {
public static void main(String[] args) {
//You can add all objects inherited from Animal to an Animal type list
Animal[] animals = new Animal[3]; //Creating the Animal List
animals[0] = new Animal(); //Add a new animal object to the list
animals[1] = new Dog(); //Add a new dog object to the list
animals[2] = new Pig(); //Add a pig object to the list
for (Animal a: animals){
a.animalSound(); //This statement prints the correct string no matter the class
}
}
}