定义一个抽象类,从Shape类派出矩形类,圆类,并给出具体的求面积的函数
时间: 2024-09-12 20:07:59 浏览: 46
在面向对象编程中,抽象类是不能被实例化的类,它通常包含一个或多个抽象方法。抽象方法是只有声明没有具体实现的方法,其具体的实现由派生类(子类)来完成。下面是一个简单的例子,使用伪代码来定义一个抽象类`Shape`,以及从`Shape`类派生出的`Rectangle`类和`Circle`类,包括它们各自计算面积的具体方法。
```java
// 抽象类Shape,包含一个抽象方法getArea
abstract class Shape {
// 抽象方法,用于计算面积,具体实现由子类完成
abstract double getArea();
}
// Rectangle类继承自Shape类,并重写getArea方法以计算矩形的面积
class Rectangle extends Shape {
private double width; // 矩形的宽度
private double height; // 矩形的高度
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
// 重写getArea方法
@Override
double getArea() {
return width * height; // 矩形面积计算公式:宽*高
}
}
// Circle类继承自Shape类,并重写getArea方法以计算圆的面积
class Circle extends Shape {
private double radius; // 圆的半径
public Circle(double radius) {
this.radius = radius;
}
// 重写getArea方法
@Override
double getArea() {
return Math.PI * radius * radius; // 圆面积计算公式:π*半径*半径
}
}
```
在上述代码中,`Shape`是一个抽象类,它定义了一个抽象方法`getArea`,该方法在`Rectangle`和`Circle`类中被重写,分别实现了求矩形面积和圆面积的逻辑。
阅读全文