Buenos días, aquí les dejo mi ejercicio:
Clase Figura:
package aprenderaprogramar.java.iniciacion.clase94;
public class Figura {
private double dimensionPrincipal;
// constructores
Figura(){ dimensionPrincipal = 0; }
Figura(double dimensionPrincipal){ this.dimensionPrincipal = dimensionPrincipal; }
// Métodos
public double getDimensionPrincipal() { return dimensionPrincipal; }
public void setDimensionPrincipal(double dimensionPrincipal) { this.dimensionPrincipal = dimensionPrincipal; }
public String toString(){ return " Objeto Figura, con una Dimension Principal de :"+dimensionPrincipal; }
public boolean equals(Object obj){
if(obj instanceof Figura){
Figura tmpFigura = (Figura) obj;
if(this.dimensionPrincipal == tmpFigura.dimensionPrincipal)
return true;
else
return false;
}else return false;
}// fin método equals
}// fin clase
Clase Círculo:
package aprenderaprogramar.java.iniciacion.clase94;
import java.lang.Math;
public class Circulo extends Figura {
//Constructores
Circulo(){ super(); }
Circulo(double dimensionPrincipal){ super(dimensionPrincipal); }
// Métodos
public double calcularArea(){return Math.PI * getDimensionPrincipal() * getDimensionPrincipal(); }
public String toString(){ return "Objeto Círculo, subclase de Figura :\n"+super.toString(); }
public boolean equals(Object obj){
if(obj instanceof Circulo){
Circulo tmpCirculo = (Circulo) obj;
if(super.equals(tmpCirculo))
return true;
else
return false;
}else return false;
}// fin método equals
}// fin de clase
Clase Cuadrado:
package aprenderaprogramar.java.iniciacion.clase94;
public class Cuadrado extends Figura{
// Constructores
Cuadrado(){ super(); }
Cuadrado(double dimensionPrincipal){super(dimensionPrincipal); }
// métodos
public double calcularArea(){ return getDimensionPrincipal() * getDimensionPrincipal(); }
public String toString(){ return "Objeto Cuadrado, subclase de Figura :\n"+super.toString(); }
public boolean equals(Object obj){
if(obj instanceof Cuadrado){
Cuadrado tmpCuadrado = (Cuadrado) obj;
if(super.equals(tmpCuadrado))
return true;
else
return false;
}else return false;
}// fin método equals
}// fin de clase
Clase Test:
package aprenderaprogramar.java.iniciacion.clase94;
public class Test {
public static void main(String[] args) {
Cuadrado cuadrado1 = new Cuadrado(4);
Cuadrado cuadrado2 = new Cuadrado(4);
Cuadrado cuadrado3 = new Cuadrado(6);
Circulo circulo1 = new Circulo(3);
Circulo circulo2 = new Circulo(3);
Circulo circulo3 = new Circulo(5);
System.out.println ("\nComparaciones con cuadrados");
System.out.println ("¿Son iguales el cuadrado1 y el cuadrado2? "+ cuadrado1.equals(cuadrado2) );
System.out.println ("¿Son el mismo objeto el cuadrado1 y el cuadrado2? "+ (cuadrado1 == cuadrado2));
System.out.println ("¿Son iguales el cuadrado1 y el cuadrado3? "+ cuadrado1.equals(cuadrado3) );
System.out.println ("cuadrado1 es un "+cuadrado1.toString()+" \ny cuadrado3 es un "+ cuadrado3.toString());
System.out.println ("\nComparaciones con círculos");
System.out.println ("¿Son iguales el circulo1 y el circulo2? " + circulo1.equals(circulo2) );
System.out.println ("¿Son el mismo objeto el circulo1 y el circulo2? " + (circulo1 == circulo2) );
System.out.println ("¿Son iguales el circulo1 y el circulo3? " + circulo1.equals(circulo3) );
System.out.println ("circulo1 es un "+circulo1.toString()+" \ny circulo3 es un "+ circulo3.toString());
}// end main method
}// end class
Agradeceré cualquier correccion o sugerencia.