定义一个抽象类shape,它包含一个抽象方法getArea(),从Shape类派生除Rectangle和Circle类,这两个类都用getArea()方法计算对象的面积。编写应用程序使用Rectangle和Circle类
时间: 2024-05-01 16:18:06 浏览: 107
来创建对象并输出它们的面积。
好的,让我来回答您的问题。这是一个常见的面向对象编程问题。首先,我们需要定义一个抽象类Shape,并在其中声明一个抽象方法getArea(),用于获取形状对象的面积。然后我们可以从Shape类中派生出Rectangle和Circle类,并实现它们的getArea()方法,以计算它们的面积。最后,在应用程序中,我们可以创建Rectangle和Circle对象,并调用它们的getArea()方法来获取它们的面积并输出。
下面是一个示例代码,您可以参考它来了解如何实现:
```
abstract class Shape {
abstract double getArea();
}
class Rectangle extends Shape {
double length, width;
Rectangle(double l, double w) {
length = l;
width = w;
}
double getArea() {
return length*width;
}
}
class Circle extends Shape {
double radius;
Circle(double r) {
radius = r;
}
double getArea() {
return Math.PI*radius*radius;
}
}
public class Main {
public static void main(String[] args) {
Rectangle r = new Rectangle(5, 10);
Circle c = new Circle(7);
System.out.println("Rectangle area: " + r.getArea());
System.out.println("Circle area: " + c.getArea());
}
}
```
在这个例子中,我们首先定义了一个抽象类Shape,其中声明了一个抽象方法getArea()。然后我们派生了一个Rectangle类和一个Circle类,并实现了它们各自的getArea()方法,以计算它们的面积。最后,在main()方法中,我们创建了一个Rectangle对象和一个Circle对象,并打印它们的面积。注意,我们不需要知道具体的面积计算公式,因为在每个形状对象中都实现了getArea()方法。
阅读全文