Tuesday, 9 July 2013

Polymorphism Concept in OOP languages

polymorphism :
                                polymorphism is a concept which describes about the different forms of a
particular method.for example take "water" is a method in a class of  "liquids".the method water may have different forms like "solid form(ice)" or may "fuel form(liquid)".that is poly means many and morphism means different forms.
                             in object oriented languages polymorphism is divided in to two categories
                                             1.Compile Time
                                              2.Run Time
1.Compile time:
                            Compile time polymorphism is "Method Overloading".
2.Run Time:
                             Run Time polymorphism is "method Overriding".
OVERLOADING:
                       The datatypes of parameters or number of parameters of method is changes in one form to other then it is know as "Method Overloading".
                Ex:        1.public void add(int a,int b)
                             2.public void add(int a,int b,int c)
                                                                         In above two cases the method   is overloaded. by changing the number of parameters.
                    
                                  1.public void add(int a,int b)
                                   2.public void add(float a,float b).
                                                                        In above two cases the method is overloaded by using the changing of datatypes.
OVERRIDING:
                            The signature of a method wont change in subclass which is used in super class but the method body is override.
                                EX:    Class A{
                                                                public int add(int a,int b)
                                                                    {
                                                                         SOP("addition is"+(a+b));
                                                                      }
                                                            }
                                               Class  B extends A{
                                                                              public int add(int a,int b)
                                                                    {
                                                                         int c=10;
                                                                        SOP("addition is"+(a+b+c));
                                                                      }
                                                     In the above the method is override in sub class
Advantages:
                      we can define our own code in sub class by using this method overriding with out changing the signature of method of super class.      

No comments: