这种uml关系可能有什么问题

what could be wrong with this uml relationships

你好,我正在尝试创建 class 图表,但我不确定我的意见是否正确,你能告诉我我应该更改什么吗,谢谢。

不确定还有关联吗?

可能是协会?

我想我理解你的问题,虽然评论者正在试图向你解释你没有问清楚。我相信您是在问 classes 之间应该使用哪种类型的关联。

组合关联,正如您似乎部分理解的那样,意味着组合关系中对象的生命周期取决于它所属的对象。

然后,您的第一个图表是说您的火车由火车停靠站组成,因此如果没有火车,就不会再有任何火车停靠站。这显然不是真的。其他火车可以停在同一站。此外,您的火车可能会与一个 "route" 对象相关联,该对象将是多个站点的集合。我会留给你解决细节。

你的下一张图是说火车是由(至少部分)乘客组成的,所以如果火车被摧毁,就没有更多的乘客了。但是一个乘客可以换乘火车继续做乘客,所以火车和乘客之间没有组合关系。乘客乘坐火车,火车可能有也可能没有乘客,所以你有一个简单的联想(没有任何类型的钻石)。

最后,你的最后一张图说可用路线由城市组成。这是有道理的。但是,还存在一个问题,即给定城市可能是不同路线的成员。如果是这样,最好说一个给定的城市 "has" 与其相关联的路线数量。在这种情况下,城市端将有一个白色菱形。当然,如果您这样做,您将不得不重新考虑您的 distance_between 属性。最好创建一个 distance class,它本身与两个且只有两个城市对象相关联。