继承特性:设计公共汽车,客车,轿车。战斗机,喷气式飞机,直升机。画出类图
时间: 2024-09-20 17:04:51 浏览: 34
EC120直升机
继承是一种面向对象编程的概念,它允许创建一个新的类(称为派生类或子类),从现有的类(称为基类或超类)继承属性和方法。在这个例子中,我们可以创建一个表示交通工具的通用类,然后分别继承该类以表示公交车、客车、轿车等不同的车辆类型。
为了画出这个类图,我们可以按照以下步骤:
1. **创建根类** - 设计一个名为`Vehicle`的基础类,包含所有交通工具共有的属性和方法,如`发动机类型`、`座位数`、`速度范围`等。
```plaintext
+-------+
| Vehicle |
+---------------------+
| - engineType |
| - seatingCapacity |
| - speedRange |
| + startEngine() |
| + stopEngine() |
+---------------------+
```
2. **派生子类** - 根据需要,为特定类型的交通工具创建派生类:
- `Bus` 和 `Coach` (公交/长途车) 继承自 `Vehicle`,可能增加特定属性如`乘客区`。
- `Car` 继承自 `Vehicle`,可能有属性如`车型`和`燃油类型`。
- 对于航空方面的交通工具:
- `FighterJet` 和 `JetPlane` (战斗机/客机) 都继承自 `Aircraft` 类(如果需要单独创建)。
- `Helicopter` 另外继承自 `Aircraft` 或者直接作为 `Vehicle` 的派生类,因为直升机也可以视为一种特殊的飞行器。
```plaintext
+--+
| - busArea |
| + ... |
| [Vehicle] |
+---------+
| Coach |
+-----------------------+
| - ... |
| [Vehicle] |
+---------+
+----------------------+
| Car |
+----------------------+
| - carModel |
| - fuelType |
| + ... |
| [Vehicle] |
+--------+
+-------------------------+
| Aircraft |
+-------------------------+
| - wingspan |
| - flightSpeed |
| + takeOff() |
| + land() |
+-------------------------+
+-----------------------------+
| FighterJet |
+-----------------------------+
| [Aircraft] |
+-----------------------------+
+----------------------------+
| JetPlane |
+--+
| [Aircraft] |
+----------------------------+
+------------------------+
| Helicopter |
+------------------------+
| [Vehicle] | [Aircraft]?
+------------------------
```
阅读全文