【发布时间】:2020-05-26 19:21:06
【问题描述】:
我目前正在为 uni 做一个火车模拟项目。
这是我的类层次结构:
RollingStock
Coach
FreightCoach
PassengerCoach
SpecialCoach
Engine
DieselEngine
ElectricEngine
SteamEngine
Trainset
我的问题:
- 每个教练都有一个唯一的 ID。然而,Engines 和 Trainsets 共享它们的 ID-Space(“series-name”)。 RollingStock 继承了“Name”,Trainset 和 Engine 都具有“series”属性。
我创建了一个“SharedIdSpace”类来实现这个功能。但我不太确定如何很好地解决这个问题(TreeMap,...,?)。
现在,我的主要问题是我必须实现以下功能:
"机车车辆可以编成火车。编组时必须遵守以下限制:
- 必须始终在有效火车的开头或结尾设置至少一个机车/火车。
- 在组合时,必须始终考虑机车车辆在所需组合点是否有合适的联轴器。
- 正在组合的机车车辆尚未在另一列火车上使用。 [...]"
我该如何实现呢?恐怕我没有有用的想法。
【问题讨论】: