1

继承层次图

每当我从同一个接口扩展两个接口时,在图中,它都会创建单独的箭头。我只想要一个像这样分支的箭头。PlantUML 中是否有任何脚本可以执行此操作?

4

2 回答 2

2

PlantUML 使用的工具集——GraphViz——主要用于绘制图形(即节点和边);因此个体的实现关系。

虽然显示实现本身对于描述界面层次结构有时很有用,但图表可能很快成为关系的“老鼠窝”,可能会掩盖更大的图景。

您可能会考虑更喜欢使用简写的“Lollipop”表示法来指示接口的实现。例如,

在此处输入图像描述

如果您想在同一个图表中显示界面细节,布局有时会有点棘手。生成上述内容的脚本如下:

@startuml
together {
   interface Widget {
     callFred()
     callBarney()
   }

   class A
   class B
   class C
}

Widget ()- A
Widget ()- B
Widget ()- C
@enduml
于 2017-03-05T19:02:54.703 回答
0

如果您只想让两个继承实体共享一个箭头,您可以将第二个实体连接到将第一个实体与其泛化连接的线:

class Entity
class Generalization
class OtherEntity
Generalization <|-- Entity
(Entity, Generalization) -- OtherEntity


不幸的是,如果您尝试更多,它会生成更多行,因此不起作用。例如。

class Entity
class Generalization
class OtherEntity
Generalization <|-- Entity
(Entity, Generalization) -- OtherEntity

class AnotherEntity
(Entity, Generalization) -- AnotherEntity

给出了这个:

这不是我们想要的。

于 2020-11-10T17:39:19.020 回答