namespace PolymorphismApplication
protected int width, height;
public Shape( int a=0, int b=0)
public virtual int area()
Console.WriteLine("Parent class area :");
public Rectangle( int a=0, int b=0): base(a, b)
public override int area ()
Console.WriteLine("Rectangle class area :");
public Triangle(int a = 0, int b = 0): base(a, b)
public override int area()
Console.WriteLine("Triangle class area :");
return (width * height / 2);
public void CallArea(Shape sh)
Console.WriteLine("Area: {0}", a);
public static void Main(string[] args)
Rectangle r = new Rectangle(10, 7);
Triangle t = new Triangle(10, 5);