Clase principal main
package ejercicioscuoo697b;
import java.util.ArrayList;
import java.util.Iterator;
public class EjerciciosCuoo697b {
public static void main(String[] args) {
ArrayList<Edificio> listaEdificios = new ArrayList<Edificio>();
Polideportivo polideportivo1 = new Polideportivo("Cerro Porteño", 9954634.66, 1);
Polideportivo polideportivo2 = new Polideportivo("Olimpia", 734234.66, 1);
Polideportivo polideportivo3 = new Polideportivo("Sol de America", 67555.77, 1);
Edificio edificio1 = new EdificioOficina(23232.32, 20);
Edificio edificio2 = new EdificioOficina(27732.32, 10);
listaEdificios.add(polideportivo1);
listaEdificios.add(polideportivo2);
listaEdificios.add(polideportivo3);
listaEdificios.add(edificio1);
listaEdificios.add(edificio2);
Iterator<Edificio> it = listaEdificios.iterator();
while (it.hasNext()) {
System.out.println(it.next().toString());
}
}
}
Interfaz edificio
package ejercicioscuoo697b;
public interface Edificio {
double getSuperficieEdificio();
}
Interfaz Instalacion deportiva
package ejercicioscuoo697b;
public interface InstalacionDeportiva {
int getTipoDeInstalacion();
}
Clase polideportivo
package ejercicioscuoo697b;
public class Polideportivo implements InstalacionDeportiva, Edificio {
private String nombre;
private double superficie;
private int tipoInstalacion;
public Polideportivo() {
}
public Polideportivo(String nombre, double superficie, int tipoInstalacion) {
this.nombre = nombre;
this.superficie = superficie;
this.tipoInstalacion = tipoInstalacion;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public double getSuperficie() {
return superficie;
}
public void setSuperficie(double superficie) {
this.superficie = superficie;
}
public int getTipoInstalacion() {
return tipoInstalacion;
}
public void setTipoInstalacion(int tipoInstalacion) {
this.tipoInstalacion = tipoInstalacion;
}
public double getSuperficieEdificio() {
return superficie;
}
public int getTipoDeInstalacion() {
return tipoInstalacion;
}
public String toString() {
return "EDIFICIO DE TIPO " + tipoInstalacion + " = POLIDEPORTIVO.\nNombre del polideportivo: " + nombre
+ "\nCon una Superficie de: " + superficie + " m2.\n";
}
}
Clase edificio oficina
package ejercicioscuoo697b;
public class EdificioOficina implements Edificio {
private double superficie;
private int numDeOficinas;
public EdificioOficina() {
}
public EdificioOficina(double superficie, int numDeOficinas) {
this.superficie = superficie;
this.numDeOficinas = numDeOficinas;
}
public double getSuperficie() {
return superficie;
}
public void setSuperficie(double superficie) {
this.superficie = superficie;
}
public int getNumDeOficinas() {
return numDeOficinas;
}
public void setNumDeOficinas(int numDeOficinas) {
this.numDeOficinas = numDeOficinas;
}
public double getSuperficieEdificio() {
return superficie;
}
public String toString() {
return "EDIFICIO DE TIPO OFICINA \n" + "Con " + numDeOficinas + " Oficinas \n " + ""
+ "Con una Superficie total de : " + superficie + "m2.\n";
}
}