类人

public Box box;
private Gun gun;

public Man()
{
    gun = new Gun(this);
}


类盒

public Bullets bullets;

public Box()
{
    bullets = new Bullets();
}


类子弹

public Bullets() {}


类枪

private Man owner;
private Bullets bullets;

public Gun(Man owner)
{
    this.owner = owner;
    bullets = this.owner.box.bullets;
}


枪课的UML是什么?

这是我在想什么:

枪与人与子弹有合计
枪对Box有依赖性

这是正确的吗?

最佳答案

基本上是。但是具体来说,与Box的依赖关系已经通过ManBox关联的方式给出。因此,您不需要。

java - UML-链接类引用-LMLPHP

不必太在意聚合,因为它只会给模型增加很少的额外语义。通常,拥有一个关联就足够了。您可以轻松地与“ X可以没有Y生存吗?”开始争论。但这是没有意义的。如果在数据库的外键约束和/或用于显示内存管理约束的上下文中使用复合聚合。

您可以使用约束{ bullets in box are never bullets in gun}等来扩充模型。不要忘记多重性。

10-08 08:15