Autor Tema: Java cómo usar herencia Sobreescribir métodos toString y equals en Java CU00694B  (Leído 3981 veces)

umadara

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 45
    • Ver Perfil
Buenas aquí otro ejercicio resuelto, el CU00694B del taller de programación en Java desde cero.

Código: [Seleccionar]
public class Test {
   
    public static void main (String[] args) {
       
       Circulo circulo1 = new Circulo(10);
       
       Circulo circulo2 = new Circulo(10);
       
       System.out.println(circulo1.equals(circulo2));
       
       Cuadrado cuadrado1 = new Cuadrado(10); 
       
       Cuadrado cuadrado2 = new Cuadrado(1);
       
       System.out.println(cuadrado1.equals(cuadrado2));
    }
}


Código: [Seleccionar]
public class Circulo extends Figura{
   
    double areaCirculo;
   
    public Circulo (double dimensionPrincipal) {
       
        super (dimensionPrincipal);
   
    }
   
     public void areaCirculo() {
       
        areaCirculo = 2 * 3.1416 *(dimensionPrincipal * dimensionPrincipal);
   
    }
   
    public double getAreaCirculo() {return areaCirculo;}
   
    public void mostrarAreaCirculo() {
       
        System.out.println ("El área del circulo es " + getAreaCirculo() + "cm2");
   
    }
   
    public boolean metodo1() {
        return true;
    }
   
    public boolean equals (Object obj) {
       
        if (obj instanceof Circulo ){
           
            Circulo tmpCirculo = (Circulo) obj;
           
            return tmpCirculo.dimensionPrincipal == this.dimensionPrincipal;
       
        }
        return false;
    }
   
}


Código: [Seleccionar]
public class Cuadrado extends Figura{
   
    double areaCuadrado;
   
    public Cuadrado (double dimensionPrincipal) {
       
        super (dimensionPrincipal);
   
    }
   
    public void areaCuadrado() {
       
        areaCuadrado = dimensionPrincipal * dimensionPrincipal;
   
    }
   
    public double getAreaCuadrado() {return areaCuadrado;}
   
    public void mostrarAreaCuadrado() {
       
        System.out.println ("El área del cuadrado es " + getAreaCuadrado() + "cm2");
   
    }
   
     public boolean equals (Object obj) {
       
        if (obj instanceof Cuadrado ){
           
            Cuadrado tmpCuadrado = (Cuadrado) obj;
           
            return tmpCuadrado.dimensionPrincipal == this.dimensionPrincipal;
       
        }
        return false;
    }
}


Código: [Seleccionar]
public class Figura {
   
    double dimensionPrincipal;
   
    public Figura (double dimensionPrincipal) {
       
        this.dimensionPrincipal = dimensionPrincipal;
   
    }
   
    public void dimensionPrincipal (double dimensionPrincipal) {
       
        this.dimensionPrincipal = dimensionPrincipal;
   
    }
   
    public double getDimensionPrincipal() {return dimensionPrincipal;}

}

Sin más un saludo.
« Última modificación: 01 de Agosto 2016, 21:05 por Alex Rodríguez »

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola umadara en el ejercicio tendríamos a mejorar:

- La forma de nombrar algunos métodos por ejemplo no sería  public void dimensionPrincipal (double dimensionPrincipal) sino  public void setDimensionPrincipal (double dimensionPrincipal)

- La fórmula del área del círculo la tienes mal

En vez de areaCirculo = 2 * 3.1416 *(dimensionPrincipal * dimensionPrincipal);

Si la dimensión principal del círculo es el radio la fórmula sería areaCirculo = 3.1416 *(dimensionPrincipal * dimensionPrincipal);

- En lugar de 3.1416 es preferible usar Math.PI que da mayor precisión

- En la clase Cuadrado te falta el set para atributos

Saludos

 

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