Monday 13 July 2015

Real time examples on Polymorphism





Polymorphism: It looks(by the name in programming) like same but expresses different characters. These twin brothers looks alike but they hold different characters.




Method Overloading



1)Example of Method overloading with same datatype of arguments

class Calculation{
  void sum(int a,int b){System.out.println(a+b);}
  void sum(int a,int b,int c){System.out.println(a+b+c);}

  public static void main(String args[]){
  Calculation obj=new Calculation();
  obj.sum(10,10,10);
  obj.sum(20,20);
  }

}


2)Example of Method Overloading by changing data type of argument

In this example, we have created two overloaded methods that differs in data type.
The first sum method receives two integer arguments and second sum method receives two double arguments.

class Calculation2{
  void sum(int a,int b){System.out.println(a+b);}
  void sum(double a,double b){System.out.println(a+b);}

  public static void main(String args[]){
  Calculation2 obj=new Calculation2();
  obj.sum(10.5,10.5);
  obj.sum(20,20);
  }

}


In java, method overloading is not possible by changing the return type of the method because there may occur ambiguity. Let's see how ambiguity may occur:

because there was problem:

class Calculation3{
  int sum(int a,int b){System.out.println(a+b);}
  double sum(int a,int b){System.out.println(a+b);}

  public static void main(String args[]){
  Calculation3 obj=new Calculation3();
  int result=obj.sum(20,20); //Compile Time Error

  }
}

int result=obj.sum(20,20); //Here how can java determine which sum() method should be called  

Method Overriding





No comments:

Post a Comment