Introduction

Polymorphism
Polymorphism is an concept of OOPS. Polymorphism in Latin word which describes 'poly' means many
'morphs' means forms.
We can divide the polymorphism into 2 types.
1. Static polymorphism (complied time)
2. Dynamic polymorphism (run time)

Static polymorphism
In this the binding is taken place in compile time. The different types of static polymorphism
are:-
a) Function Overloading
b) Operator Overloading
c) Constructor Overloading

Dynamic polymorphism
In this the binding that takes place at run-time. The difference types of dynamic polymorphism
are:-
a) Function Overriding
b) Abstract Class

Operator overloading
It is the concept of oops as we know that in object-oriented concept each and every thing deals with classes and objects. Keyword class contains the definition of two operators i.e. Assignment operator (=) and Ampersand (&) by default.We can perform the( +, -, *, /) on a string ,integer etc while talking with oops concept (C#) we cant directly perform (=,-,*,/)arithmetic operations between two objects. If we want to train ours class other than two operators than we need to do Operator Overloading .

Example of Operator Overloading

// FIND THE SUM OF TWO COMPLEX NO. BY OPERATOR OVERLOADING
using System;
public class ComplexNum
{
public int real;
public int imaginary;
public ComplexNum(int real, int imaginary)
{
this.real = real;
this.imaginary = imaginary;
}
// Syntax of Operator Overloading
public static ComplexNum operator +(ComplexNum n1, ComplexNum n2)
{
return new ComplexNum(n1.real + n2.real, n1.imaginary + n2.imaginary);
}
// Override the ToString method to display an complex number in the suitable format:
public override string ToString()
{
return (String.Format("{0} + {1}i", real, imaginary));
}
public static void Main()
{
ComplexNum cnum1 = new ComplexNum(4, 5);
ComplexNum cnum2 = new ComplexNum(5, 6);
// Add two Complex objects (num1 and num2) through the
ComplexNum addition = cnum1 + cnum2;
// Print the numbers
Console.WriteLine("First complex number: {0}", cnum1);
Console.WriteLine("Second complex number: {0}", cnum2);
Console.WriteLine("RESULT :The sum of the two numbers: {0}", addition);
// Hault the output screen
Console.Read();
}
}

Output

op[ld.gif