Autor Tema: JAVA Problema con arraylist y herencia clase Figura y subclases  (Leído 4322 veces)

Karurosu

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 1
    • Ver Perfil
¡Buenas!

Soy un estudiante de programación y bueno, me han pedido un ejercicio en el que debo tener una clase Figura y varias figuras que hereden de ella. La clase Figura es una interfaz y las demás clases heredan de ella. El problema está cuando quiero mostrar las figuras de un arraylist y quiero acceder a un método de una de las figuras hijas dentro de la colección. Al compilar me da un error en cada sitio en el que intento hacer esto. Os dejo la parte del código donde me sale el error:


Citar
for(int i=0;i<figuras.size();i++){
         if(figuras.get(i) instanceof Cuadrado){
            System.out.println("Datos del cuadrado creado: ");
            System.out.println("Lado: "+figuras.get(i).getLado());
            System.out.println("Area: "+figuras.get(i).area());
         }
         else if(figuras.get(i) instanceof Rectangulo){
            System.out.println("Datos del rectangulo creado: ");
            System.out.println("Base: "+figuras.get(i).getBase());
            System.out.println("Base: "+figuras.get(i).getAltura());
            System.out.println("Area: "+figuras.get(i).area());
         }
         else if(figuras.get(i) instanceof Circulo){
            System.out.println("Datos del circulo creado: ");
            System.out.println("Radio: "+figuras.get(i).getRadio());
            System.out.println("Area: "+figuras.get(i).area());
         }
         else{
            System.out.println("Datos de la esfera creado: ");
            System.out.println("Radio: "+figuras.get(i).getRadio());
            System.out.println("Area: "+figuras.get(i).area());
         }
         System.out.println("----------------------------------------");
      }

El error esta en System.out.println("Radio: "+figuras.get(i).getRadio());, y en las líneas donde no pido el area, ya que el area si me lo coge bien. Os dejo también el código de la clase interfaz por si acaso.

Citar
public interface Figura{

   float pi = 3.1416f;
   float area();


}

Las figuras hijas implementan y no extienden, ¿tal vez sea ese el fallo?

Un placer y a espera de alguna respuesta. Gracias =)
« Última modificación: 19 de Octubre 2016, 21:00 por Ogramar »

DRANXZ88

  • Avanzado
  • ****
  • Mensajes: 356
    • Ver Perfil
Re:JAVA Problema con arraylist y herencia
« Respuesta #1 en: 14 de Octubre 2016, 20:48 »
Para poder probar tu código tenes que pegar todo.

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:JAVA Problema con arraylist y herencia clase Figura y subclases
« Respuesta #2 en: 19 de Octubre 2016, 21:02 »
Buenas, como te ha comentado DRANX sería necesario que pegues todo el código. También recomendarte que consultes este curso, ahí tienes ejemplos similares al problema que planteas.

Salu2

 

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".