我正在从事一个大学项目,我有以下问题,我无法弄清楚。
我有一个名为Employee的课程 从这里我概括了两个类承包商员工和永久员工。
现在我有一个由两种类型的员工组成的团队,所以我打算使用聚合。
我是否必须将团队类连接到两个子类或员工类?
谢谢
答案 0 :(得分:5)
到员工班。团队课程将有一份员工名单;他们不会关心他们实际上是ContractorEmployees,PermanentEmployees或FooEmployees。
答案 1 :(得分:2)
这个有趣的问题......如果你的Team类只引用了Employee,你将来可以扩展到其他类型的Employees(TeamLeads,Managers等......)。如果你将Team类绑定到Contractor和PermanentEmployee,你实际上是在说团队可以拥有Contractors,Perm.Employees和没有别的东西!但也许这就是你想要的......
答案 2 :(得分:0)
在UML 2中,聚合将以空心菱形显示。
答案 3 :(得分:0)
不要在Team和Employees或其子类型之间使用聚合。 Team类有一个属性'Members',它是Employees的集合。通过这种方式,团队可以拥有Employee子类型的任意组合,包括稍后添加的任何其他子类型。