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