Hola Dan, me parece que aciertas terminando lo que empezaste. ¡Y me das envidia por estar de vacas! Intentamos ofrecer aquí un sitio donde entre todos nos preocupemos por ayudar y hacer las cosas lo mejor posibles, con contenidos de calidad. Los cursos pueden resultar muy provechosos siempre que se sigan paso a paso y con constancia como has hecho tú.
Para tu código pocos comentarios.
En lugar de public double getAreaCirculo(){return (3.14 * Math.pow(dimensionPrincipal, 2));}
te recomiendo usar public double getAreaCirculo(){return (Math.PI * Math.pow(dimensionPrincipal, 2));}
Puedes ver que se trata de un atributo estático de la clase Math que te devuelve el número pi:
https://docs.oracle.com/javase/8/docs/api/java/lang/Math.htmlTambién aunque no sea necesario en este ejercicio te recomiendo que no declares
Cuadrado figuraCuadrada = new Cuadrado(35.04);
Cuadrado figuraCuadradita = new Cuadrado(23.20);
Cuadrado figuraCuadra = new Cuadrado(23.20);
Circulo circulo1 = new Circulo(19.30);
Circulo circulo2 = new Circulo(14.24);
Circulo circulo3 = new Circulo(19.30);
En vez de eso usa el polimorfismo, así te acostumbras a las buenas prácticas de la programación orientada Java, de este modo puedes tratar a los objetos como si fueran de un tipo u otro según necesites
Figura figuraCuadrada = new Cuadrado(35.04);
Figura figuraCuadradita = new Cuadrado(23.20);
Figura figuraCuadra = new Cuadrado(23.20);
Figura circulo1 = new Circulo(19.30);
Figura circulo2 = new Circulo(14.24);
Figura circulo3 = new Circulo(19.30);
Del mismo modo para declarar un ArrayList usa List<String> miLista = new ArrayList<String>(); y así en general, para aprovecharte del polimorfismo
Saludos