Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Karurosu en 10 de Octubre 2016, 12:56

Título: JAVA Problema con arraylist y herencia clase Figura y subclases
Publicado por: Karurosu en 10 de Octubre 2016, 12:56
¡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 =)
Título: Re:JAVA Problema con arraylist y herencia
Publicado por: DRANXZ88 en 14 de Octubre 2016, 20:48
Para poder probar tu código tenes que pegar todo.
Título: Re:JAVA Problema con arraylist y herencia clase Figura y subclases
Publicado por: Ogramar 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