java 定义抽象基类shape_由它派生出三个派生类_编写一个程序,声明抽象基类Shape,由它派生出3个派生类:Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个...
时间: 2024-02-16 08:04:02 浏览: 10
好的,我理解了你的问题。以下是一个符合你要求的 Java 程序:
```java
abstract class Shape {
abstract double area();
}
class Circle extends Shape {
double radius;
Circle(double r) {
radius = r;
}
double area() {
return Math.PI * radius * radius;
}
}
class Rectangle extends Shape {
double width, height;
Rectangle(double w, double h) {
width = w;
height = h;
}
double area() {
return width * height;
}
}
class Triangle extends Shape {
double base, height;
Triangle(double b, double h) {
base = b;
height = h;
}
double area() {
return 0.5 * base * height;
}
}
class Main {
public static void main(String[] args) {
Circle c = new Circle(5);
System.out.println("Circle area: " + c.area());
Rectangle r = new Rectangle(4, 6);
System.out.println("Rectangle area: " + r.area());
Triangle t = new Triangle(3, 8);
System.out.println("Triangle area: " + t.area());
}
}
```
在这个程序中,我们定义了一个抽象基类 `Shape`,其中包含一个抽象方法 `area()`,表示计算该形状的面积。然后我们分别定义了三个派生类 `Circle`、`Rectangle` 和 `Triangle`,并实现了它们的 `area()` 方法。
在 `main` 函数中,我们创建了一个圆形、一个矩形和一个三角形的实例,并分别调用它们的 `area()` 方法,输出它们的面积。
希望这个程序能够帮助到你!