using System.Collections.Generic;
public int X { get; private set; }
public int Y { get; private set; }
public int Height { get; set; }
public int Width { get; set; }
public virtual void Draw()
Console.WriteLine("base class draw tasks");
public class Circle : Shape
public override void Draw()
Console.WriteLine("Draw Circle");
public class Rectangle : Shape
public override void Draw()
Console.WriteLine("Drawing a rectangle");
public class Triangle : Shape
public override void Draw()
Console.WriteLine("Drawing a triangle");
public static void Main()
List<Shape> shapes = new List<Shape>();
shapes.Add(new Circle());
shapes.Add(new Rectangle());
shapes.Add(new Triangle());
foreach (Shape s in shapes)