Buenos días. Dejo una posible solución al ejercicio planteado CU00697B del tutorial pdf de programación Java como si estuviera en primero de aprenderaprogramar.
Ahora la codificación.
public interface InstalacionDeportiva
{
int getTipoDeInstalacion();
}
public interface Edificio
{
double getSuperficieEdificio();
}
public class Polideportivo implements Edificio, InstalacionDeportiva
{
private String nombre;
private int tipoInstalacion;
private double superficie;
public Polideportivo(String nombre, int tipoInstalacion, double superficie){
this.nombre=nombre;
this.tipoInstalacion=tipoInstalacion;
this.superficie=superficie;
}
public String toString(){
return "Tipo de edificio Instalacion deportiva\n"+"Instalación de tipo : "+tipoInstalacion;
}
public int getTipoDeInstalacion(){
return tipoInstalacion;
}
public double getSuperficieEdificio(){
return superficie;
}
}
public class EdificioOficinas implements Edificio
{
private double superficie;
private int numeroOficinas;
public EdificioOficinas(int numeroOficinas,double superficie){
this.superficie=superficie;
this.numeroOficinas=numeroOficinas;
}
public double getSuperficieEdificio(){
return superficie;
}
public String toString(){
return "Tipo de edificio Edificio de oficinas\n"+"Numero de oficinas : "+numeroOficinas;
}
}
import java.util.ArrayList;
import java.util.Iterator;
public class Test
{
public static void main(String Arg[]){
ArrayList<Edificio> listaEdificios = new ArrayList<Edificio>();
listaEdificios.add(new Polideportivo("P.M. El Quirinal",0,10000));
listaEdificios.add(new Polideportivo("P.M. La Magdalena",1,12000));
listaEdificios.add(new Polideportivo("P.M. Jardín de cantos",2,7000));
listaEdificios.add(new EdificioOficinas(3,600));
listaEdificios.add(new EdificioOficinas(6,1200));
listaEdificios.add(new EdificioOficinas(9,1800));
Iterator<Edificio> edificio=listaEdificios.iterator();
Edificio tempEdificio;
while(edificio.hasNext()){
tempEdificio = edificio.next();
System.out.println(tempEdificio.toString());
System.out.println("La superficie del edificio es de : "+tempEdificio.getSuperficieEdificio()+"\n");
}
}
}
Un saludo.