在 UML 中表示 class 可能继承自另一个 class

Signify in UML that a class MIGHT inherit from another class

对于作业,我们使用 UML。

它基本上是在为招聘系统建模。我的问题是,我希望表明人力资源经理可以在面试中担任面试官。但是由于我们不能确定人力资源经理是面试官,所以我想知道是否有表示法。

如果他可以成为其中之一,那么你必须继承。否则您无权访问 Intervier 的属性。

要确定 HR-Manager 实际上 是否是 Interviewer,您需要特定于语言的操作来检查类型。或者你引入一个标志,告诉他现在实际上 一个。

或者,也可以像您一样进行关联。所以你在没有继承的情况下工作。但是多重性需要 0..1 而不仅仅是 1.

这取决于您的建模方式的要求。

如果您偶然发现诸如 Optional Inheritance 之类的东西,它在 OO 中不存在,那么这通常表明您做错了什么。

在这种情况下,我认为 出了点问题 是尝试将用户角色建模为用户 类。

HR ManagerDepartment headInterviewer都是一个人可能扮演的不同角色。

此设计模式已记录在许多不同的地方,例如 Wikipedia