UML类图问题

时间:2013-11-25 15:01:11

标签: class uml diagram generalization

如果我有一个系统来组织飞行员的计划和他们飞机上班的飞机。还有一个组织时间表的经理。但经理也是一名飞行员。我是否需要两个单独的用户儿童班作为飞行员+经理。或者,例如在试验类中使用isManager的属性会更实际吗?或者经理会成为飞行员的孩子吗?

如果schdule类是 system 的组合,那么创建新计划的方法是否必须在系统类中?

1 个答案:

答案 0 :(得分:0)

老实说,这取决于应用程序的要求以及您希望如何实现它,因为可能没有正确或错误的答案。 Pilot和Manager可以是User类的单独泛化。用户也可以是一元关系。谁能说你不能在User类中放置一个isPilot字段?最后,将两者分开为User的子类可能更实际。我知道我会在编写代码时这样做,将User作为我的基类,然后让Pilot和Manager扩展User。

你可以这样:

enter image description here

如果经理总是一名飞行员,你可以这样做:

enter image description here

就个人而言,我会实施前者,因为如果经理出现并且不是飞行员呢?同样,就像我说的那样,它取决于应用程序的要求以及您希望如何实现它。这两种方式都不对。