用Java长方形和圆形都属于几何图形,都有周长和面积,并且它们都有自己的周长和面积计算公式。使用抽象类的知识设计一个程序,可以计算不同图形的面积和周长。
时间: 2024-03-20 12:39:53 浏览: 189
好的,很高兴回答您的问题。首先,我们可以创建一个抽象类`Shape`,该类包含两个抽象方法`getArea()`和`getPerimeter()`,用于计算图形的面积和周长。然后我们可以创建两个具体的子类`Rectangle`和`Circle`,分别实现这两个方法。
以下是示例代码:
```java
abstract class Shape {
abstract double getArea();
abstract double getPerimeter();
}
class Rectangle extends Shape {
double width, height;
Rectangle(double w, double h) {
width = w;
height = h;
}
double getArea() {
return width * height;
}
double getPerimeter() {
return 2 * (width + height);
}
}
class Circle extends Shape {
double radius;
Circle(double r) {
radius = r;
}
double getArea() {
return Math.PI * radius * radius;
}
double getPerimeter() {
return 2 * Math.PI * radius;
}
}
```
我们可以使用这些类来计算不同图形的面积和周长,例如:
```java
public static void main(String[] args) {
Shape rect = new Rectangle(5, 10);
Shape circle = new Circle(3);
System.out.println("Rectangle area: " + rect.getArea());
System.out.println("Rectangle perimeter: " + rect.getPerimeter());
System.out.println("Circle area: " + circle.getArea());
System.out.println("Circle perimeter: " + circle.getPerimeter());
}
```
输出结果将是:
```
Rectangle area: 50.0
Rectangle perimeter: 30.0
Circle area: 28.274333882308138
Circle perimeter: 18.84955592153876
```
希望这个示例能够帮助您更好地理解如何使用抽象类来计算不同图形的面积和周长。
阅读全文