Hola Sniper, creo que llegas al final del curso Java por lo que más abajo te haré algunos comentarios además de los propios del ejercicio en sí. Este ejercicio en líneas generales lo veo bien, sólo te haré comentarios por si te pueden ser útiles para reflexionar y mejorar.
En la respuesta a la pregunta, donde indicas "esto es lo que podríamos llamar "herencia múltiple", la respuesta la veo correcta pero para expresarlo más claramente veo preferible escribir: "esto es un tipo de relación que se asemeja a la herencia múltiple" (para dejar claro que en Java no existe la herencia múltiple como tal, pero sí algo que se asemeja a la herencia múltiple).
La interface InstalacionDeportiva: código conforme.
La interface Edificio: código conforme.
La clase polideportivo: querrás decir ancho, setAncho, etc. porque hancho, setHancho ¿?
En el método getSuperficieEdificio has escrito return (largo * ancho * altura) * 6; ... supongo que esto lo pones como ejemplo de fórmula que podría aplicarse, pero sin haberle prestado atención, ya que un largo por ancho por altura devuelve un volumen, no una superficie. Más lógico hubiera sido largo * ancho (superficie de un rectángulo), pero esto no era el objetivo del ejercicio...
La clase de test:
Donde has escrito
InstalacionDeportiva poliDeportivo1 = new PoliDeportivo("Felix Sanchez", "100 mts con ballas", 48F, 28F, 50F);
Edificio poliDeportivo2 = new PoliDeportivo("Estadio Quisqueya", "Baseball", 57F, 32.7F, 60F);
PoliDeportivo poliDeportivo3 = new PoliDeportivo("Club san carlos", "Basketball", 46F, 33F, 50.4F);
Edificio edificioDeOficinas1 = new EdificioDeOficinas(20, 39.5F, 31F, 55F);
EdificioDeOficinas edificioDeOficinas2 = new EdificioDeOficinas(35, 56F, 37.3F, 57.9F);
Lo más adecuado hubiera sido:
Edificio poliDeportivo1 = new PoliDeportivo("Felix Sanchez", "100 mts con ballas", 48F, 28F, 50F);
Edificio poliDeportivo2 = new PoliDeportivo("Estadio Quisqueya", "Baseball", 57F, 32.7F, 60F);
Edificio poliDeportivo3 = new PoliDeportivo("Club san carlos", "Basketball", 46F, 33F, 50.4F);
Edificio edificioDeOficinas1 = new EdificioDeOficinas(20, 39.5F, 31F, 55F);
Edificio edificioDeOficinas2 = new EdificioDeOficinas(35, 56F, 37.3F, 57.9F);
Así es como le sacas partido al polimorfismo. Por los comentarios creo que lo tienes claro, pero conviene aclararlo por si hay personas que lean o revisen el ejercicio y esto les lleve a dudas.
El resto del código poco más que comentar.
En relación al final del curso, creo que puedes estar orgulloso de haber mantenido la constancia para llevar adelante un curso de estas características. También has tenido la suerte de tener moderadores y compañeros que te han dado su apoyo, pero el trabajo y el mérito es tuyo, así que enhorabuena. Por otro lado, por parte de los responsables de la web tenemos que agradecer tu actitud de colaboración, por ejemplo este mensaje de hace un par de meses:
https://www.aprenderaprogramar.com/foros/index.php?topic=952.0También tu algoritmo while(estesVivo) nos ha parecido de lo más acertado... esperamos que tú nos recuerdes al equipo de la web y al resto de personas que han colaborado dándote apoyo conforme dice este algoritmo tuyo. De la misma forma que le hemos planteado a otras personas desde el equipo de moderadores, te planteamos que continúes participando del foro ahora como profesor o tutor de apoyo para personas que se están iniciando, o simplemente para seguir hablando de programación y formación en programación. Con esta línea de trabajo por parte del equipo de la web tratamos de dejar puertas abiertas con vistas al futuro a las personas que destacan por su actitud de colaboración, cosa que sin duda has hecho. Saludos cordiales.