Polymorphism is a fundamental concept in object oriented programming OOP
that allows objects of different classes to be treated as objects of a common
superclass.
It enables a single interface to represent multiple types of objects,
providing
flexibility and extensibility in code design.
using System;
namespace ConsoleApp1
{
// Base class
class Shape
{
// Virtual method
public virtual void Draw()
{
Console.WriteLine("Drawing a shape");
}
}
// Derived class
class Circle : Shape
{
// Override method
public override void Draw()
{
Console.WriteLine("Drawing a
circle");
}
}
// Derived class
class Rectangle : Shape
{
// Override method
public override void Draw()
{
Console.WriteLine("Drawing a
rectangle");
}
}
class Program
{
static void Main(string[] args)
{
// Polymorphic behavior
Shape[] shapes =
new Shape[2];
shapes[0] = new Circle();
shapes[1] = new Rectangle();
foreach (Shape shape in shapes)
{
shape.Draw(); // Calls the appropriate Draw
method based on the actual object type
}
}
}
}