java 定义抽象基类shape_由它派生出三个派生类_编写一个程序,声明抽象基类Shape,由它派生出3个派生类:Circle(圆形)、Rectangle(矩形)、Triangle(三角形),用一个...
时间: 2024-02-16 16:04:03 浏览: 79
抱歉,我之前的回答中可能出现了一些问题。以下是一个更符合你要求的 Java 程序:
```java
// 定义抽象基类 Shape
abstract class Shape {
// 定义抽象方法 area,表示计算形状的面积
abstract double area();
}
// 定义派生类 Circle,表示圆形
class Circle extends Shape {
// 定义圆形的半径
double radius;
// 构造函数,初始化半径
Circle(double r) {
radius = r;
}
// 实现抽象方法 area,计算圆形的面积
double area() {
return Math.PI * radius * radius;
}
}
// 定义派生类 Rectangle,表示矩形
class Rectangle extends Shape {
// 定义矩形的宽和高
double width, height;
// 构造函数,初始化宽和高
Rectangle(double w, double h) {
width = w;
height = h;
}
// 实现抽象方法 area,计算矩形的面积
double area() {
return width * height;
}
}
// 定义派生类 Triangle,表示三角形
class Triangle extends Shape {
// 定义三角形的底和高
double base, height;
// 构造函数,初始化底和高
Triangle(double b, double h) {
base = b;
height = h;
}
// 实现抽象方法 area,计算三角形的面积
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()` 方法,输出它们的面积。
希望这个程序能够帮助到你!
阅读全文