使用 UML 显示专业化

Showing specialization with UML

当两个专用实体也可以是彼此时,您如何在 UML 图中显示专业化。例如:

    [Personel]
        ^
       /_\
        |
    ------------
    |           |   
[Employee]    [Manager]

通常,我会使用空箭头来表示专业化,但我如何表明员工或经理在某些情况下也可以担任其他角色?我只需要用一条线连接它们吗?

在最常见的形式中,泛化是互斥的。你要么是一个子类,要么是另一个子类,但绝不能同时是两者。

对于您使用的示例,您最好使用 Party-PartyRole 模式。

EmployeeManager 是一个人可以扮演的角色。使用此模式,您可以同时成为 ManagerEmployee