public Point2D(int x, int y)
public Tuple<int, int> GetCoordinates()
return Tuple.Create(_x, _y);
public override string ToString()
return String.Format("Point({0}, {1})", _x, _y);
public class Point3D : Point2D
public Point3D(int x, int y, int z) : base(x, y)
public new Tuple<int, int, int> GetCoordinates()
return Tuple.Create(_x, _y, _z);
public override string ToString()
return String.Format("Point({0}, {1}, {2})", _x, _y, _z);
public static void Main(string[] args)
Point2D p2 = new Point2D(