Polymorphism
Tuesday, 7 March 2017
Programming in C Plus Plus
Polymorphism-
Poly means many (เคเค เคธाเคฐे) เคนोเคคा เคนै, เคฏเคน OOPS (object-oriented programming) เคा เคเค concept เคนै เคिเคธเคฎें เคिเคธी function เคฏा operator เคो เคเค เคคเคฐीเคों เคธे เคเค เคนी name เคे เคธाเคฅ access เคिเคฏा เคा เคธเคเคคा เคนै ।
Polymorphism are two types.
Program เคो compile เคเคฐเคคे time เคเค เคนी name เคे function เคी เค
เคฒเค definition compile เคเคฐ เคฆी เคाเคคी เคนै।
Compile time polymorphism เคฆो เคช्เคฐเคाเคฐ เคा เคนोเคคा เคนै।
(i) Function Overloading- เคเค เคนी name เคे function เคชเคฐंเคคु เค เคฒเค เค เคฒเค parameter use เคนो เคคो function overloading เคเคนเคฒाเคคी เคนै।
Compile time polymorphism เคฆो เคช्เคฐเคाเคฐ เคा เคนोเคคा เคนै।
(i) Function Overloading- เคเค เคนी name เคे function เคชเคฐंเคคु เค เคฒเค เค เคฒเค parameter use เคนो เคคो function overloading เคเคนเคฒाเคคी เคนै।
Example-
void area (int a, int b)
void area (int c)
void area (int d, int e, int f)
int area (int a)
{
return (a*a);
}
int area (int b, int c)
{
return (b*c);
}
Cout<<area(5);
// output=25(area of square)
Cout<<area(5,10);
// output=50(area of rectangle)
(ii) Operator Overloading- เคเค single operator เคो เคฆो เคฏा เคฆो เคธे เค เคงिเค เคाเคฐ्เคฏो เคे เคฒिเค เคช्เคฐเคฏुเค्เคค เคिเคฏा เคाเคฏे เคคो operator overloading เคเคนเคฒाเคคी เคนै।
Example-
5+2=7
เคเคธเคฎें '+' operator เคฆ्เคตाเคฐा addition เคिเคฏा เคเคฏा เคนै เคเค new (diffrent) output เคช्เคฐाเคช्เคค เคนुเค।
ganesh+gururani=ganeshgururani
เคเคธ example เคฎें เคเคธी '+' operator เคो เคฆो string เคो catenate(add) เคเคฐเคจे เคे เคฒिเค เคช्เคฐเคฏोเค เคिเคฏा เคเคฏा เคนै เคเคธเคธे เคो output เคช्เคฐाเคช्เคค เคนुเค เคนै เคตเคน input เคธे เคฎिเคฒเคคा เคुเคฒเคคा (เคธเคฎाเคจ) เคนै।
Run Time Polymorphism- Program เคे run เคนोเคจे เคชเคฐ เคเค เคนी name เคे เคฆो เคฏा เคฆो เคธे เค เคงिเค function เคฎें เคธे เคिเคธे execute เคนोเคจा เคนै เคฏเคน decide เคिเคฏा เคाเคฏे เคคो เคตเคน run time เคนै।
★Run time polymorphism เคो virtual function เคे เคเคฐिเคฏे เคช्เคฐाเคช्เคค เคिเคฏा เคा เคธเคเคคा เคนै।