Vamos a crear una serie de clases para figuras geométricas.
La clase madre será abstracta y tendrá una propiedad Nombre y un método dibujar abstracto.
De ahí derivaremos una clase para figuras de 2 dimensiones también abstracta que incorpora el método area que nos devuelve un double.
Y de ahí una clase para figuras de 3 dimensiones también abstarcta que incorpore el método volumen.
Por último crearemos las clases cuadrado, circulo, cubo y esfera derivándolas de sus clases más adecuadas e implementando los métodos requeridos.
Una vez hecho esto, creamos otro proyecto para hacerlo mediante interfaces.