Ad Code

Responsive Advertisement

Compile Time Polymorphism

Compile Time Polymorphism

Compile Time Polymorphism


Polymorphism:

  • Poly - Many, Morph - Shapes

     Process by which code, method or object behaves differently under different Circumstances.

REAL TIME EXAMPLE:

        A person can play many roles in his\her life.

Lets take women as an example,

           She plays the role of

              â˜…Daughter for her parents,

              â˜…Student in her school, 

              ★Mother for her children etc..

Types of Polymorphisms:

                Ã˜ Compile Time Polymorphism

             Ã˜ Run Time Polymorphism


Compile Time Polymorphism:

ü Also called Static Polymorphism.

ü As the name indicates it happens at compile time.

ü The compiler decides what value or shape, object should take.

ü Compile time polymorphism achieved through Method Overloading or Operator Overloading.

Overloading:

ü  It is the Compile Time Polymorphism feature in which entity has same name with multiple implementations.

Types of Overloading:

Ø Method Overloading

Ø Operator Overloading

Method Overloading:

ü In method overloading, different method have the same method name but different number of parameters.

ü If the method have the same number of parameters then the data types of the parameter will be different.

Real Time Example:

Let us consider painter who paints different objects,

 class painter {

            Paint(brush1, brush2, watercolor)

                   {

                         Perform oil painting;

                    }

             Paint(round brush, flat brush, acrylic paint)

                  {

                          Perform acrylic painting;

                 }

            Paint(pencils, paper)

                  {

                                Perform Sketching;

                   }

class Main{

        public static void main(String[] args)

           {

               System.out.println(painter.paint(angular brush, tiny brush, watercolor));

               System.out.println(painter.paint(round brush, flat brush, acrylic paint));

               System.out.println(painter.paint(HP,A4));

          }

        }

ü Languages that support method overloading : C++, Java.

ü Languages that do not support method overloading : C, Python.

Operator Overloading:

        Ã¼  To use the class variables or class objects by redefining the meaning of operator without changing their original meaning.

        Ã¼  It gives additional meaning along with their existing ones.

Example:

        Additional operator "+" can be taken as an example for operator overloading.

       i.e., in the following statement "+" is used to sum the two integers,

                  a=5+5;

        In this statement, 

                 str=str1+str2;

         "+" operator used to concatenate the two strings.

Thus, "+" operator serves in two ways it is called operator overloading.

OPERATORS THAT CAN BE OVERLOADED:

Ø Unary  Operator         

Ø Logical  Operator         

Ø Dereferencing operator

Ø Binary Operator

Ø Relational  Operator

Ø Bit-wise Operator

OPERATORS THAT CANNOT BE OVERLOADED:

Ø Scope Resolution Operator

Ø Conditional Operator

Ø Size of Operator

Languages that support operator overloading : C++, Python, C#

Languages that do not support operator overloading :C, Java except for "+" operator which can be overloaded in Java.

Post a Comment

0 Comments

Close Menu