4. What is Polymorphism?
The abiltiy to define more than one function with the same name is called Polymorphism. In java,c++ there are two type of polymorphism: compile time polymorphism (overloading) and runtime polymorphism (overriding).
When you override methods, JVM determines the proper methods to call at the program’s run time, not at the compile time. Overriding occurs when a class method has the same name and signature as a method in parent class.
Overloading occurs when several methods have same names with
Overloading is determined at the compile time.
Different method signature and different number or type of parameters.
Same method signature but different number of parameters.
Same method signature and same number of parameters but of different type
a)Example of Overloading
int
sum(int
a,int
b)
float sum(float
a,int
b)
float sum(int
a ,float
b)
void sum(float
a)
int sum(int
a)
void sum(int
a) |
//error conflict with the method int sum(int a)
b) Example: Overloading
Class BookDetails{
String title;
String publisher;
float price;
setBook(String title)
{
}
setBook(String title, String publisher)
{
}
setBook(String title, String publisher,float
price){
}
} |
Example: Overriding
class
BookDetails{
String title;
setBook(String title){ }
}
class ScienceBook
extends
BookDetails{
setBook(String title){}
//overriding
setBook(String title, String publisher,float
price){ }
//overloading
}
|
Read More →