Ejercicio

EJERCICIO Se plantea desarrollar un programa Java que permita representar la siguiente situación. Una instalación deport

Views 374 Downloads 86 File size 104KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

EJERCICIO Se plantea desarrollar un programa Java que permita representar la siguiente situación. Una instalación deportiva es un recinto delimitado donde se practican deportes, en Java interesa disponer de un método int getTipoDeInstalacion(). Un edificio es una construcción cubierta y en Java interesa disponer de un método double getSuperficieEdificio(). Un polideportivo es al mismo tiempo una instalación deportiva y un edificio; en Java interesa conocer la superficie que tiene y el nombre que tiene. Un edificio de oficinas es un edificio; en Java interesa conocer el número de oficinas que tiene. Definir dos interfaces y una clase que implemente ambas interfaces para representar la situación anterior. En una clase test con el método main, crear un ArrayList que contenga tres polideportivos y dos edificios de oficinas y utilizando un iterator, recorrer la colección y mostrar los atributos de cada elemento. ¿Entre qué clases existe una relación que se asemeja a la herencia múltiple? Puedes comprobar si tu respuesta es correcta consultando en los foros aprenderaprogramar.com. public interface InstalacionDeportiva { int getTipoDeInstalacion(); } public interface Edificio { double getSuperficieEdificio(); String mostrarAtributos(); } public class Polideportivo implements InstalacionDeportiva, Edificio { private int tipoDeInstalacion; private double superficieEdificio; private String nombre; public Polideportivo(){ tipoDeInstalacion = 0; superficieEdificio = 0; nombre = "Unknown";

} public Polideportivo(int tipoDeInstalacion, double superficieEdificio, String nombre){ this.tipoDeInstalacion = tipoDeInstalacion; this.superficieEdificio = superficieEdificio; this.nombre = nombre; } public void setTipoDeInstalacion(int tipoDeInstalacion){ this.tipoDeInstalacion = tipoDeInstalacion;} public void setSuperficieEdificio(double superficieEdificio){ this.superficieEdificio = superficieEdificio;} public void setNombre(String nombre){this.nombre = nombre;} public int getTipoDeInstalacion(){return tipoDeInstalacion;} public double getSuperficieEdificio(){return superficieEdificio;} public String getNombre(){return nombre;} public String mostrarAtributos(){ return "El polideportivo es de tipo: " + getTipoDeInstalacion() + " con una superficie de: " + getSuperficieEdificio()+" m2. Y su nombre es: "+getNombre(); } }

public class Oficinas implements Edificio { private int numeroOficinas; private double superficieEdificio; public Oficinas(){ numeroOficinas = 0;

superficieEdificio = 0; } public Oficinas(int numeroOficinas, double superficieEdificio){ this.numeroOficinas = numeroOficinas; this.superficieEdificio = superficieEdificio; } public void setSuperficieEdificio(double superficieEdificio){ this.superficieEdificio = superficieEdificio;} public void setNumeroOficinas(int numeroOficinas){ this.numeroOficinas = numeroOficinas;} public double getSuperficieEdificio(){return superficieEdificio;} public int getNumeroOficinas(){return numeroOficinas;} public String mostrarAtributos(){ return "La oficina tiene: " + getNumeroOficinas() + " oficinas y consta de "+getSuperficieEdificio()+" m2."; } }

public class Test { public static void main(String[] args){ ArrayList lista = new ArrayList(); Oficinas of1 = new Oficinas(4,500); Oficinas of2 = new Oficinas(2,300); Oficinas of3 = new Oficinas(6,1000); Polideportivo pd1 = new Polideportivo(1,1000,"Polideportivo BCN");

Polideportivo pd2 = new Polideportivo(1,2000,"Polideportivo MAD"); lista.add(of1); lista.add(of2); lista.add(of3); lista.add(pd1); lista.add(pd2); Iterator it = lista.iterator(); while(it.hasNext()){ System.out.println(it.next().mostrarAtributos()); } } }