Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Karurosu

Páginas: [1]
1
¡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 =)

Páginas: [1]

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