Autor Tema: duda herencia java con clases abstractas CU00695B (Figura, circulo, cuadrado...)  (Leído 5758 veces)

mily

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 12
    • Ver Perfil
estoy empezando a programar ,se supone que debo sacar el perimetro y area de las figuras
usando herencia y metodos get y set --tengo lo siguiente --- no se cuales son los errores--
les agradezco su ayuda
Código: [Seleccionar]
package practica1;


public abstract class Figura{
double area;
double perimetro;
public void setArea(double v_area){

    area=v_area;

}

public void setPerimetro(double v_perimetro){
    perimetro=v_perimetro;
}
public double  getArea(){
    return area;
}
public double getPerimetro(){
    return perimetro;
}




}


Código: [Seleccionar]
public class Circulo extends Figura {
    int radio;



public void AreaCirculo(){
    area=(3.1416*radio*radio);
    radio=(int) Double.parseDouble(JOptionPane.showInputDialog("dame radio"));

}

public void setArea(double v_area){

    area=v_area;

}

public void setPerimetro(double v_perimetro){
    perimetro=v_perimetro;
}
public double  getArea(){
    return area;
}
public double getPerimetro(){
    return perimetro;
}
}

   


Código: [Seleccionar]
public class Cuadro extends Figura {

  public void Cuadrado(){
      int lado=5;
      int area;

      area=lado*lado;
  }
public void setArea(double v_area){

    area=v_area;

}

public void setPerimetro(double v_perimetro){
    perimetro=v_perimetro;
}
public double  getArea(){
    return area;
}
public double getPerimetro(){
    return perimetro;
}

   
    }

Código: [Seleccionar]
public class Rectangulo extends Figura {
     public void AreaRectangulo(){
      int base,altura,area;
      base=Integer.parseInt(JOptionPane.showInputDialog("dame base"));
      altura=Integer.parseInt(JOptionPane.showInputDialog("dame altura"));
    area=base*altura;
     }

public void setArea(double v_area){

    area=v_area;

}

public void setPerimetro(double v_perimetro){
    perimetro=v_perimetro;
}
public double  getArea(){
    return area;
}
public double getPerimetro(){
    return perimetro;
}
}

Código: [Seleccionar]
public class Triangulo extends Figura {

    double base ,altura,area;
    public void AreaTriangulo(){
        base=Double.parseDouble(JOptionPane.showInputDialog("dame base"));
        altura=Integer.parseInt(JOptionPane.showInputDialog("dame altura"));
        area=(base*altura)/2;
       
    }
    public void setArea(double v_area){

    area=v_area;

}

public void setPerimetro(double v_perimetro){
    perimetro=v_perimetro;
}
public double  getArea(){
    return area;
}
public double getPerimetro(){
    return perimetro;
}
}



   

 

Código: [Seleccionar]
public class Test {
    public static void main(String[] args, Iterable<Figura> arrFiguras){

    Figura Circulo=new Circulo();
    Figura Triangulo=new Triangulo();
    Figura Rectangulo=new Rectangulo();
    Figura Cuadro=new Cuadro();
   
 

for (Figura figura : arrFiguras) {
    String nombreFigura = Triangulo.getClass().getSimpleName();
System.out.println("Perímetro del" +Cuadro + "es: "+Cuadro.getPerimetro());
System.out.println("Área del " +Cuadro + " es:" + Cuadro.getPerimetro());
}
}
}

« Última modificación: 10 de Octubre 2014, 08:49 por Alex Rodríguez »

Jorge lopez

  • Sniper
  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 248
  • @SniperOfElite
    • Ver Perfil
 Hola mily!

Estuve mirando tu ejercicio y verificando me doy cuenta de que no se corresponde con lo requerido en el enunciado de la entrega CU00695B y que aunque se asemeja al ejercicio de la unidad CU00694B (por tener "las" clases que esta solicita) tampoco se corresponde con esta. No obstante, eh verificado tu código y te e dejado un archivo.rar con las 6 clases de tu código editadas y comentadas en cada punto donde encontré un error o donde se puede hacer alguna mejoría. Me enfoque mas en la parte funcional de tu código, pero si me sentara a mejorarlo al "100%" lo mejor para mi seria comenzarlo desde 0. Eh modificado solo lo necesario para que el código trabaje y para que asimiles los errores y los puedas evitar en futuros programas.

También tengo una curiosidad cuando dices:
Citar
estoy empezando a programar ,se supone que debo sacar el perimetro y area de las figuras
usando herencia y metodos get y set --tengo lo siguiente --- no se cuales son los errores--
les agradezco su ayuda

Si estas empezando a programar creo que has comenzado por una entrega muy avanzada "CU00695B" me gustaría saber si has seguido el curso aprender a programar desde cero, desde su inicio hasta esta entrega "CU00695B"? y de no ser así te recomiendo hacerlo (realizar el curso completo).

Luego de que analices el código que aquí te dejo y cada uno de los comentarios que incluí, si tienes alguna duda o pregunta no dudes en preguntar.

Espero que encuentres algo útil en el código que eh editado.

while(true)
{
  System.out.println("Saludos!");
}
« Última modificación: 10 de Octubre 2014, 22:53 por Sniper »
while(estesVivo)
{
  aprende();
  ayuda();
  enseña();
}
if(mueres){teRecordaran();}

 

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