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