我正在做一个大学项目,我有以下我无法弄清楚的问题。
我有一个名为 Employee 的类,我概括了两个类 Contractor 员工和 Permanent Employee。
现在我有一个由两种类型的员工组成的团队,所以我打算使用聚合。
我是否必须将团队类连接到两个子类或员工类?
谢谢
我正在做一个大学项目,我有以下我无法弄清楚的问题。
我有一个名为 Employee 的类,我概括了两个类 Contractor 员工和 Permanent Employee。
现在我有一个由两种类型的员工组成的团队,所以我打算使用聚合。
我是否必须将团队类连接到两个子类或员工类?
谢谢
到员工阶层。团队类将有一个员工列表;它不会在意他们实际上是 ContractorEmployees、PermanentEmployees 或 FooEmployees。
嗯,有趣的问题...如果您的 Team 类仅指 Employee,那么您将来可以扩展到其他类型的员工(TeamLeads、Managers 等)。如果你将你的 Team 类绑定到 Contractor 和 PermanentEmployee,你实际上是在说一个 Team 可以有 Contractors、Perm.Employees,没有别的!但也许这就是你想要的......
看看这里:作曲协会
在 UML 2 中,聚合将显示为一个空心菱形。
不要在团队和员工或其子类型之间使用聚合。Team 类有一个属性“成员”,它是员工的集合。这样,团队可以拥有 Employee 子类型的任意组合,包括以后添加的任何其他子类型。