import jdk.nashorn.internal.objects.annotations.Setter;
/*
几何图形
*/
public class GeometricObject {
private String color;
private double weight;
public GeometricObject() {
}
public GeometricObject(String color, double weight) {
this.color = color;
this.weight = weight;
}
public void setColor(String color) {
this.color = color;
}
public void setWeight(double weight) {
this.weight = weight;
}
public String getColor() {
return color;
}
public double getWeight() {
return weight;
}
//计算面积的方法
public double findArea(){
return 0.0;
}
}
public class Circle extends GeometricObject{
private double radius;
public Circle() {
}
public Circle(String color, double weight, double radius) {
super(color, weight);
this.radius = radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public double getRadius() {
return radius;
}
//计算圆的面积
public double findArea(){
return Math.PI*radius*radius;
}
}
public class MyRectangle extends GeometricObject {
private double width;
private double height;
public MyRectangle() {
}
public MyRectangle(String color, double weight, double width, double height) {
super(color, weight);
this.width = width;
this.height = height;
}
public void setWidth(double width) {
this.width = width;
}
public void setHeight(double height) {
this.height = height;
}
public double getWidth() {
return width;
}
public double getHeight() {
return height;
}
public double findArea(){
return width*height;
}
}
public class Test {
public static void main(String[] args) {
Circle c1=new Circle("白色",55.55,2.2);
MyRectangle mr= new MyRectangle("黑色",66.66,2.2,3.3);
GeometricObject c2=new Circle("黄色",66.66,2.2);
boolean boo=equalsArea(c1,c2);
System.out.println(boo);
displayGeometricObject(c1);
displayGeometricObject(c2);
displayGeometricObject(mr);
}
public static boolean equalsArea(GeometricObject o1,GeometricObject o2){
return o1.findArea()==o2.findArea();//虚拟方法调用
}
public static void displayGeometricObject(GeometricObject o1){
if (o1 instanceof Circle){
System.out.println("圆的面积:"+o1.findArea());
}
if (o1 instanceof MyRectangle){
System.out.println("矩形的面积:"+o1.findArea());
}
}
}