定义一个抽象类Shape,它包含一个抽象方法getArea(),从Shape类派生出Rectangle和Circle类,这两个类都用getArea()方法计算对象的面积。编写应用程序使用Rectang...
时间: 2024-02-25 09:54:11 浏览: 78
好的,这是一个面向对象编程的问题,非常适合使用Java语言来解决。下面是实现这个问题的代码:
```java
// 定义抽象类Shape
abstract class Shape {
abstract double getArea(); // 抽象方法,用于计算面积
}
// 定义Rectangle类,继承自Shape
class Rectangle extends Shape {
double width, height;
Rectangle(double w, double h) {
width = w;
height = h;
}
// 实现抽象方法getArea(),计算矩形的面积
double getArea() {
return width * height;
}
}
// 定义Circle类,继承自Shape
class Circle extends Shape {
double radius;
Circle(double r) {
radius = r;
}
// 实现抽象方法getArea(),计算圆的面积
double getArea() {
return Math.PI * radius * radius;
}
}
// 应用程序
public class Main {
public static void main(String[] args) {
// 创建一个矩形对象
Rectangle rect = new Rectangle(3, 4);
System.out.println("矩形的面积是:" + rect.getArea());
// 创建一个圆对象
Circle circle = new Circle(5);
System.out.println("圆的面积是:" + circle.getArea());
}
}
```
输出结果为:
```
矩形的面积是:12.0
圆的面积是:78.53981633974483
```
这个程序中,我们首先定义了一个抽象类Shape,它包含一个抽象方法getArea()。然后,我们从Shape类派生出了Rectangle和Circle类,并在这两个类中实现了getArea()方法以计算对象的面积。
最后,在应用程序中,我们创建了一个矩形对象和一个圆对象,并分别调用它们的getArea()方法来计算它们的面积。
阅读全文