定义一个抽象基类Shape, 该类包含一个抽象方法getArea(), 从Shape类派生出Circle类和Rectangle类,请利用getArea()方法计算两个类对象的面积。
时间: 2024-02-13 15:04:23 浏览: 87
c++ 形状类Shape(派生出圆类Circle和矩形类Rectangle)
好的,以下是一个实现您所述功能的示例代码:
```java
// 定义抽象基类 Shape
public abstract class Shape {
// 定义抽象方法 getArea()
public abstract double getArea();
}
// Circle 类继承 Shape
public class Circle extends Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
// 实现 getArea() 方法
@Override
public double getArea() {
return Math.PI * radius * radius;
}
}
// Rectangle 类继承 Shape
public class Rectangle extends Shape {
private double width;
private double height;
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
// 实现 getArea() 方法
@Override
public double getArea() {
return width * height;
}
}
// 测试类
public class Test {
public static void main(String[] args) {
// 创建 Circle 和 Rectangle 对象
Circle circle = new Circle(5);
Rectangle rectangle = new Rectangle(3, 4);
// 调用 getArea() 方法计算面积并输出
System.out.println("Circle area: " + circle.getArea()); // 输出:Circle area: 78.53981633974483
System.out.println("Rectangle area: " + rectangle.getArea()); // 输出:Rectangle area: 12.0
}
}
```
在上述代码中,我们定义了一个抽象基类 Shape,其中包含一个抽象方法 getArea()。然后,我们分别从 Shape 类派生出 Circle 类和 Rectangle 类,并实现了它们的 getArea() 方法。最后,在测试类中创建了 Circle 和 Rectangle 对象,并调用它们的 getArea() 方法计算面积并输出。
阅读全文