Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: DRANXZ88 en 04 de Junio 2016, 21:29
-
Clase principal main
package ejercicioscu00694b;
public class EjerciciosCu00694b {
public static void main(String[] args) {
Cuadrado cuadrado1 = new Cuadrado(15);
Cuadrado cuadrado2 = new Cuadrado(15);
Cuadrado cuadrado3 = new Cuadrado(33);
Cuadrado cuadrado4 = new Cuadrado(8);
System.out.println("El area del cuadrado1 es " + cuadrado1.calcularArea());
System.out.println("El area del cuadrado2 es " + cuadrado2.calcularArea());
System.out.println("El area del cuadrado3 es " + cuadrado3.calcularArea());
System.out.println("El area del cuadrado4 es " + cuadrado4.calcularArea());
System.out.println("\n");
System.out.println("¿Son el mismo objeto la cuadrado1 y al cuadrado2? " + (cuadrado1 == cuadrado2));
System.out.println("¿Son iguales la cuadrado1 y al cuadrado2? " + cuadrado1.equals(cuadrado2));
System.out.println("¿Son iguales la cuadrado1 y al cuadrado3? " + cuadrado1.equals(cuadrado3));
System.out.println("¿Son iguales la cuadrado2 y al cuadrado4? " + cuadrado2.equals(cuadrado4));
System.out.println("¿Son iguales la cuadrado3 y al cuadrado4? " + cuadrado3.equals(cuadrado4));
System.out.println("\n");
Circulo circulo1 = new Circulo(9);
Circulo circulo2 = new Circulo(9);
Circulo circulo3 = new Circulo(22);
Circulo circulo4 = new Circulo(16);
System.out.println("El area del circulo1 es " + circulo1.CalcularArea());
System.out.println("El area del circulo2 es " + circulo2.CalcularArea());
System.out.println("El area del circulo3 es " + circulo3.CalcularArea());
System.out.println("El area del circulo4 es " + circulo4.CalcularArea());
System.out.println("\n");
System.out.println("¿Son el mismo objeto la circulo1 y al circulo2? " + (circulo1 == circulo2));
System.out.println("¿Son iguales la circulo1 y al circulo2? " + circulo1.equals(circulo2));
System.out.println("¿Son iguales la circulo1 y al circulo3? " + circulo1.equals(circulo3));
System.out.println("¿Son iguales la circulo2 y al circulo4? " + circulo2.equals(circulo4));
System.out.println("¿Son iguales la circulo3 y al circulo4? " + circulo3.equals(circulo4));
}
}
Super clase figura
package ejercicioscu00694b;
public class Figura {
protected double dimensionPrincipal;
public Figura() {
}
public Figura(double dimensionPrincipal) {
this.dimensionPrincipal = dimensionPrincipal;
}
public double getDimensionPrincipal() {
return dimensionPrincipal;
}
public void setDimensionPrincipal(double dimensionPrincipal) {
this.dimensionPrincipal = dimensionPrincipal;
}
}
Sub clase Cuadrado
package ejercicioscu00694b;
public class Cuadrado extends Figura {
public Cuadrado() {
}
public Cuadrado(double dimensionPrincipal) {
super(dimensionPrincipal);
}
public double calcularArea() {
double areaCuadrado;
double dimension;
dimension = getDimensionPrincipal();
areaCuadrado = dimension * dimension;
return areaCuadrado;
}
public boolean equals(Object obj) {
if (obj instanceof Cuadrado) {
Cuadrado tmpCuadrado = (Cuadrado) obj;
if (Double.valueOf(getDimensionPrincipal()).equals(tmpCuadrado.getDimensionPrincipal())) {
return true;
} else {
return false;
}
} else {
return false;
}
}
}
Sub clase circulo
package ejercicioscu00694b;
public class Circulo extends Figura {
public Circulo() {
}
public Circulo(double dimensionPrincipal) {
super(dimensionPrincipal);
}
public double CalcularArea() {
double areaCirculo;
double dimension;
dimension = getDimensionPrincipal();
areaCirculo = Math.PI * Math.sqrt(dimension);
return areaCirculo;
}
public boolean equals(Object obj) {
if (obj instanceof Circulo) {
Circulo tmpCirculo = (Circulo) obj;
if (Double.valueOf(getDimensionPrincipal()).equals(tmpCirculo.getDimensionPrincipal())) {
return true;
} else {
return false;
}
} else {
return false;
}
}
}
-
Buenas, DRANXZ88.
Creo que has hecho un ejercicio estupendo y has entendido bien el concepto de sobreescriptura de los métodos.
Saludos :)
PD: Si no quieres utilizar la conversión de lo que devuelve el método "getDimensionPrincipal" mediante las instrucciones:
Double.valueOf(getDimensionPrincipal()
podías haber declarado dicho método como un tipo Double en la superclase "Figura" así:
Clase Figura:
public class Figura {
protected Double dimensionPrincipal;
public Figura() {
}
public Figura(Double dimensionPrincipal) {
this.dimensionPrincipal = dimensionPrincipal;
}
public Double getDimensionPrincipal() {
return dimensionPrincipal;
}
public void setDimensionPrincipal(Double dimensionPrincipal) {
this.dimensionPrincipal = dimensionPrincipal;
}
}
Y las otras dos clases así:
Clase Circulo:
public class Circulo extends Figura {
public Circulo() {
}
public Circulo(double dimensionPrincipal) {
super(dimensionPrincipal);
}
public double CalcularArea() {
double areaCirculo;
double dimension;
dimension = getDimensionPrincipal();
areaCirculo = Math.PI * Math.sqrt(dimension);
return areaCirculo;
}
public boolean equals(Object obj) {
if (obj instanceof Circulo) {
Circulo tmpCirculo = (Circulo) obj;
if (super.getDimensionPrincipal().equals(tmpCirculo.getDimensionPrincipal())) {
return true;
} else {
return false;
}
} else {
return false;
}
}
}
Clase Cuadrado:
public class Cuadrado extends Figura {
public Cuadrado() {
}
public Cuadrado(double dimensionPrincipal) {
super(dimensionPrincipal);
}
public double calcularArea() {
double areaCuadrado;
double dimension;
dimension = getDimensionPrincipal();
areaCuadrado = dimension * dimension;
return areaCuadrado;
}
public boolean equals(Object obj) {
if (obj instanceof Cuadrado) {
Cuadrado tmpCuadrado = (Cuadrado) obj;
if (super.getDimensionPrincipal().equals(tmpCuadrado.getDimensionPrincipal())) {
return true;
} else {
return false;
}
} else {
return false;
}
}
}
Es simplemente otra manera de hacer el ejercicio, pero quiero recalcar, has hecho el ejercicio correctamente.