类人
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
的依赖关系已经通过Man
与Box
关联的方式给出。因此,您不需要。
不必太在意聚合,因为它只会给模型增加很少的额外语义。通常,拥有一个关联就足够了。您可以轻松地与“ X可以没有Y生存吗?”开始争论。但这是没有意义的。如果在数据库的外键约束和/或用于显示内存管理约束的上下文中使用复合聚合。
您可以使用约束{ bullets in box are never bullets in gun}
等来扩充模型。不要忘记多重性。