编写java程序,假设抽象类 Shape 定义了 area()方法,其子类 Circle、Rectangle 和 Triangle 都各自实现了 area()方法。定义一个类 PolymorphismDemo 实现计算圆形,矩形,和三角形面积之和。
时间: 2024-02-20 13:59:42 浏览: 98
Java:使用抽象类定义一个“形状类”,能够计算周长和面积。
好的,以下是实现计算圆形、矩形和三角形面积之和的 Java 程序:
```java
abstract class Shape {
abstract double area();
}
class Circle extends Shape {
private double radius;
Circle(double r) {
radius = r;
}
double area() {
return Math.PI * radius * radius;
}
}
class Rectangle extends Shape {
private double width;
private double height;
Rectangle(double w, double h) {
width = w;
height = h;
}
double area() {
return width * height;
}
}
class Triangle extends Shape {
private double base;
private double height;
Triangle(double b, double h) {
base = b;
height = h;
}
double area() {
return 0.5 * base * height;
}
}
public class PolymorphismDemo {
public static void main(String[] args) {
Shape[] shapes = new Shape[3];
shapes[0] = new Circle(5);
shapes[1] = new Rectangle(4, 6);
shapes[2] = new Triangle(3, 8);
double sum = 0;
for (int i = 0; i < shapes.length; i++) {
sum += shapes[i].area();
}
System.out.println("圆形、矩形和三角形的面积之和为:" + sum);
}
}
```
这个程序使用抽象类 Shape 来定义了圆形、矩形和三角形的面积计算方法,分别实现了它们的 area() 方法。然后在 PolymorphismDemo 类中创建了一个 Shape 类型的数组,将三个不同的形状的实例放入数组中,最后循环遍历数组,调用每个形状的 area() 方法计算面积,并将它们的面积相加得到总面积。
希望这个程序能够帮到您!
阅读全文