这很难做到,因为PlantUML没有提供一种语法来关联行。你能达到的最好效果是:
您可以通过关联两个元素并创建一对相同的元素,例如(Account, Person)
来实现这一点。这将创建一个由点相关的两条线段的组合元素。然后您可以使用...
来关联两个对以获得虚线,并通过添加尾随的: {xor}
来命名此关系:
@startuml
skinparam style strictuml
class Account
class Person
class Corporation
Account -- Person
Account -- Corporation
(Account,Person) ... (Corporation,Account) : {xor}
@enduml
另一种选择是使用注释框来包含约束条件。这通常是将约束条件附加到元素时的惯用符号。然后,您可以将配对技术与附加到每个配对的注释相结合(参见:此法语教程):
@startuml
skinparam style strictuml
class Account
class Person
class Corporation
Account -- Person
Account -- Corporation
note "{xor}" as N #white
(Account,Person) .. N
N .. (Account,Corporation)
@enduml
实际上,应该尽可能减少这些约束条件,因为它们通常只是隐藏了一个缺失的抽象。因此,我不会使用 {xor},而是考虑:
顺便说一下,多继承关系的分组也是通过配对来实现的,如此处所述。
strictuml
哦 ;-) - qwerty_so