public static void Main()
new Square(5, "Square #1"),
new Circle(3, "Circle #1"),
new Rectangle( 4, 5, "Rectangle #1")
System.Console.WriteLine("Shapes Collection");
foreach (Shape s in shapes)
System.Console.WriteLine(s);
public class Square : Shape
public Square(int side, string id)
public override double Area
public class Circle : Shape
public Circle(int radius, string id)
public override double Area
return radius * radius * System.Math.PI;
public class Rectangle : Shape
public Rectangle(int width, int height, string id)
public override double Area
{get{return width*height;}}
public abstract class Shape
public abstract double Area
public override string ToString()
return Id + " Area = " + string.Format("{0:F2}", Area);