public abstract class ShapesClass
abstract public int Area();
public virtual int Perimeter()
public class Square : ShapesClass, IRectangle
public override int Area()
public override int Perimeter()
public void SpecialProperty()
Console.WriteLine("parallel sides, opposite sides are congruent, and diagonals bisect each other");
public static void Main()
Square sq = new Square(12);
Console.WriteLine("Area of the square = {0}", sq.Area());
Console.WriteLine("Perimeter = {0}", sq.Perimeter());
public interface IRectangle