Hola RaGa lo veo buen código y haces uso de conceptos vistos durante el curso por ejemplo en
@Override
public String toString(){
String aux="";
switch (tipoDeInstalacion){
case 0:
aux="abierta al público";
break;
case 1:
aux="escolar";
break;
case 2:
aux="exclusiva para socios";
break;
case 3:
aux="sindical";
break;
}
return "Polideportivo "+nombre+", de tipo "+aux+", cuenta con una superficie de "+superficieEdificio+" m2.";
}
Además el main muy sintético por ejemplo miLista.add(new Polideportivo("Juventud Unida",3,2000d)); en esta línea se añade a la lista, se crea el objeto y se inicializa todo en una misma línea, eso indica que vas dominando el lenguaje.
Faltó decir entre qué clases existe una relación semejante a la herencia múltiple: sería la clase Polideportivo, que implementa las interfaces InstalacionDeportiva y Edificio (realmente no hereda de ellas, pero es lo más similar a herencia múltiple que existe en Java).
A seguir así, saludos