![](/img/trans.png)
[英]Prodived/Required Interface vs. Generalization in Class Diagram (UML 2.0)
[英]Class Diagram with aggregation and generalization
我正在一个大学项目上工作,但是我无法解决以下问题。
我有一个叫雇员的类,我将承包商雇员和永久雇员分为两个类。
现在我有一个由两种类型的员工组成的团队,因此我计划使用聚合。
我是否必须将团队班级与两个子班级或员工班级联系起来?
谢谢
到员工班。 团队班级将有一个员工列表; 不必理会他们实际上是ContractorEmployees,PermanentEmployees还是FooEmployees。
嗯,一个有趣的问题……如果您的团队班级仅涉及雇员,那么将来您将可以扩展到其他类型的雇员(TeamLeads,经理等)。 如果将团队类绑定到Contractor和PermanentEmployee,则实际上是在说团队可以有Contractors,Perm.Employees,而没有其他任何东西! 但这也许就是您想要的...
在这里看看: 作曲协会
在UML 2中,聚合将显示为空心菱形。
不要在团队和雇员或其子类型之间使用聚合。 Team类具有属性“ Members”,它是Employees的集合。 这样,团队可以拥有Employee子类型的任何组合,包括以后添加的任何其他子类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.