"Java 继承实现:两圆属性输出与比较"
下面是 Java 代码实现:
```java
// GeometricObject 类
public class GeometricObject {
protected String color;
protected double weight;
public GeometricObject(String color, double weight) {
this.color = color;
this.weight = weight;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
}
// Circle 类
public class Circle extends GeometricObject {
protected double radius;
public Circle(double radius, String color, double weight) {
super(color, weight);
this.radius = radius;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
public double getPerimeter() {
return 2 * Math.PI * radius;
}
public boolean equals(Circle c) {
return this.radius == c.radius;
}
}
// 测试代码
public class Test {
public static void main(String[] args) {
Circle c1 = new Circle(5.0, "red", 2.0);
Circle c2 = new Circle(5.0, "blue", 3.0);
System.out.println("Circle 1:");
System.out.println("Radius: " + c1.getRadius());
System.out.println("Color: " + c1.getColor());
System.out.println("Weight: " + c1.getWeight());
System.out.println("Area: " + c1.getArea());
System.out.println("Circle 2:");
System.out.println("Radius: " + c2.getRadius());
System.out.println("Color: " + c2.getColor());
System.out.println("Weight: " + c2.getWeight());
System.out.println("Perimeter: " + c2.getPerimeter());
System.out.println("Circle 1 and Circle 2 have equal radius: " + c1.equals(c2));
}
}
```
输出结果:
```
Circle 1:
Radius: 5.0
Color: red
Weight: 2.0
Area: 78.53981633974483
Circle 2:
Radius: 5.0
Color: blue
Weight: 3.0
Perimeter: 31.41592653589793
Circle 1 and Circle 2 have equal radius: true
```
解释:
- Circle 类继承了 GeometricObject 类,从而获得了 color 和 weight 属性。
- Circle 类中新增了 radius 属性,并提供了计算面积和周长的方法。
- equals 方法用于判断两个圆的半径是否相等。
- 测试代码中创建了两个圆,分别输出了它们的 radius,color,weight,以及一个圆的面积,另一个圆的周长,并输出了两个圆半径长度相等的判断结果。
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。