public static void Main()
Square s = new Square(10);
Console.WriteLine("Square Length {0}",s.SideLength);
Console.WriteLine("Square Sides {0}",s.NoOfSides);
Console.WriteLine("Square Perimeter {0}",s.GetPerimeter());
Console.WriteLine("Square Area {0}",s.GetArea());
public class ConcreteClass
public int NoOfSides {get;set;}
public ConcreteClass(int ns,int len)
public double GetPerimeter()
return NoOfSides * SideLength;
public virtual double GetArea()
throw new NotImplementedException();
public class Square : ConcreteClass
public Square(int length): base(4,length)
public override double GetArea()
return SideLength * SideLength;