Autor Tema: ¿Herencia múltiple en java? Ejemplo implementar interfaces ejercicio CU00697B#  (Leído 4073 veces)

barriway

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 20
    • Ver Perfil
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.
« Última modificación: 24 de Octubre 2020, 21:21 por Alex Rodríguez »

Mario R. Rancel

  • Administrador
  • Experto
  • ********
  • APR2.COM
  • Mensajes: 1978
    • Ver Perfil
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

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".