设计一个形状(Shape)基类,它包含一个计算面积(area())的抽象方法。然后创建几个具体的形状类(如Circle、Rectangle、Triangle),它们继承自Shape类并实现area()方法以计算各自的面积。
时间: 2024-09-11 20:05:39 浏览: 71
设计一个形状基类(Shape)通常意味着定义一个所有具体形状共有的接口,以及一个计算面积的抽象方法。具体形状类(如Circle、Rectangle、Triangle)将继承这个基类,并提供具体实现以计算各自的面积。
以下是一个简单的例子,展示如何实现这样的设计:
首先,定义Shape基类,它包含一个抽象方法area(),用于计算面积。
```java
abstract class Shape {
// 抽象方法计算面积
public abstract double area();
}
```
接着,创建具体形状类继承自Shape类,并实现area()方法。
```java
// 圆形类
class Circle extends Shape {
private double radius; // 圆的半径
public Circle(double radius) {
this.radius = radius;
}
@Override
public double area() {
return Math.PI * radius * radius; // 计算面积
}
}
// 矩形类
class Rectangle extends Shape {
private double width; // 矩形的宽
private double height; // 矩形的高
public Rectangle(double width, double height) {
this.width = width;
this.height = height;
}
@Override
public double area() {
return width * height; // 计算面积
}
}
// 三角形类
class Triangle extends Shape {
private double base; // 三角形的底
private double height; // 三角形的高
public Triangle(double base, double height) {
this.base = base;
this.height = height;
}
@Override
public double area() {
return 0.5 * base * height; // 计算面积
}
}
```
以上代码展示了如何创建一个形状的层级结构,其中包括一个抽象基类和几个具体的子类。每个子类覆盖了基类中的area()方法,提供了计算相应形状面积的具体实现。
阅读全文