Educative Answers Team Polymorphism is an object-oriented programming concept that refers to the ability of a variable, function, or object to take on multiple forms. In a programming language exhibiting polymorphism, class objects belonging to the same hierarchical tree (inherited from a common parent class) may have functions with the same name, but with different behaviors. Example:The classic example is of the Shape class and all the classes that are inherited from it, such as:
Below is an example of Polymorphism: class Shape { public: Shape(){} //defining a virtual function called Draw for shape class virtual void Draw(){cout<<"Drawing a Shape"<<endl;} }; class Rectangle: public Shape { public: Rectangle(){} //Draw function defined for Rectangle class virtual void Draw(){cout<<"Drawing a Rectangle"<<endl;} }; class Triangle: public Shape { public: Triangle(){} //Draw function defined for Triangle class virtual void Draw(){cout<<"Drawing a Triangle"<<endl;} }; class Circle: public Shape { public: Circle(){} //Draw function defined for Circle class virtual void Draw(){cout<<"Drawing a Circle"<<endl;} }; int main() { Shape *s; Triangle tri; Rectangle rec; Circle circ; // store the address of Rectangle s = &rec; // call Rectangle Draw function s->Draw(); // store the address of Triangle s = &tri; // call Traingle Draw function s->Draw(); // store the address of Circle s = ˆ // call Circle Draw function s->Draw(); return 0; }
Explanation:In the example above,
As you can see, each of the child classes has a separate implementation for the function Draw(). This is how polymorphism is generally used. Types of polymorphism:
Advantages of polymorphism:
RELATED TAGS Copyright ©2022 Educative, Inc. All rights reserved |