public abstract class Figure
public abstract double Area();
public virtual void Save()
using (Stream stream = File.Open("saveFile.bin", FileMode.OpenOrCreate))
public class Rect : Figure
public Rect(double Height, double Width)
public override double Area()
public class Square : Figure
public Square(double dim)
public override double Area()
return (Height * Height);
public class Circle : Figure
public Circle(double radius)
public override double Area()
return (Height * Height * Math.PI);
public override void Save()
public static void Main()
Console.WriteLine("Hello World");
Figure[] figs = new Figure[]{new Rect(2, 10), new Square(2), new Circle(5)};
foreach (Figure f in figs)
Console.WriteLine(f.Area());