using System; interface Shape{ double Area{get;} string Desc{get;} }; interface TwoDimensionalShape : Shape {} interface ThreeDimensionalShape : Shape { double Volume{get;} } class Circle: TwoDimensionalShape{ private double Radius; public Circle(double r){Radius = r;} public double Area{ get{ return ((Radius * Radius) * Math.PI); }} public string Desc{get{return "A circle";}} } class Square: TwoDimensionalShape{ private double Side; public Square(double s){Side = s;} public double Area{ get{ return (Side * Side); }} public string Desc{get{return "A square";}} } class Sphere: ThreeDimensionalShape{ private double Radius; public Sphere(double r){Radius = r;} public double Area{ get{ return (4 * Math.Pow(Radius,2) * Math.PI); }} public double Volume{ get{ return (4/3.0 * Math.Pow(Radius,3) * Math.PI); }} public string Desc{get{return "A sphere";}} } class Cube: ThreeDimensionalShape{ private double Side; public Cub...