用java编写一个抽象类Shape,声明计算图形面积的抽象方法。再分别定义Shape的子类Circle(圆)和Rectangle(矩形),在两个子类中按照不同图形的面积计算公式,实现Shape类中计算面积的方法。
时间: 2024-02-16 12:00:04 浏览: 205
好的,下面是Java代码实现:
```java
// Shape.java
public abstract class Shape {
public abstract double calculateArea();
}
// Circle.java
public class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
@Override
public double calculateArea() {
return Math.PI * radius * radius;
}
}
// Rectangle.java
public class Rectangle extends Shape {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
@Override
public double calculateArea() {
return width * height;
}
}
```
在上面的代码中,Shape类是一个抽象类,它声明了一个抽象方法`calculateArea()`,子类必须实现这个方法。Circle类和Rectangle类分别继承自Shape类,并且实现了自己的计算面积的方法。Circle类的面积计算公式是πr²,Rectangle类的面积计算公式是长×宽。
下面是一个测试类,用于测试上面的代码:
```java
// Test.java
public class Test {
public static void main(String[] args) {
Shape circle = new Circle(3);
Shape rectangle = new Rectangle(4, 5);
System.out.println("圆的面积是:" + circle.calculateArea());
System.out.println("矩形的面积是:" + rectangle.calculateArea());
}
}
```
运行上面的测试类,输出结果如下:
```
圆的面积是:28.274333882308138
矩形的面积是:20.0
```
可以看到,输出的结果分别是圆和矩形的面积。这就说明我们实现的代码是正确的。
阅读全文