Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: barriway en 23 de Julio 2015, 09:45

Título: ¿Herencia múltiple en java? Ejemplo implementar interfaces ejercicio CU00697B#
Publicado por: barriway en 23 de Julio 2015, 09:45
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.

Código: [Seleccionar]
public interface InstalacionDeportiva
{
    int getTipoDeInstalacion();
}


Código: [Seleccionar]
public interface Edificio
{
   double getSuperficieEdificio();
}


Código: [Seleccionar]
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;
}
}


Código: [Seleccionar]
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;
    }
}


Código: [Seleccionar]
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.
Título: Re:¿Herencia múltiple en java? Ejemplo implementar interfaces ejercicio CU00697B#
Publicado por: Mario R. Rancel en 24 de Julio 2015, 22:09
Hola barriway

Ejercicio perfecto.

Faltaría responder la pregunta, cuya respuesta puede ser:

En la clase Polideportivo hay una relación semejante a la herencia múltiple, pues implementa las dos interfaces Edificio e InstalacionDeportiva. La clase EdificioDeOficinas, por otro lado, sólo implementa la interface Edificio, por lo que su "herencia" es simple.

Saludos cordiales