具有多个孩子的 Plantuml 类图:有什么方法可以分叉箭头?

use*_*284 5 plantuml

我的尝试:

Animal <|-- Cat
Animal <|-- Dog
Run Code Online (Sandbox Code Playgroud)

结果:

  ??????????
  ? Animal ?
  ??????????
   ?      ?
   ?      ?
??????????????
? Cat ?? Dog ?
??????????????
Run Code Online (Sandbox Code Playgroud)

这不是类图的样子。

我想要的是:

  ??????????
  ? Animal ?
  ??????????
      ?
   ????????
??????????????
? Cat ?? Dog ?
??????????????
Run Code Online (Sandbox Code Playgroud)

按照建议,我在 PlantUML 论坛上问这是否可行。

小智 5

你可以这样做:

@startuml
class Animal
together {
  class Dog
  class Cat
}
Animal <|-- Cat
Dog -- (Animal, Cat)
@enduml
Run Code Online (Sandbox Code Playgroud)

结果


Fuh*_*tor 5

尽管它并不像人们预期的skinparam groupInheritance 2那样工作,但它可以满足您的目的。skinparam linetype ortho唉,GraphViz 是渲染引擎,因此有局限性。

@startuml
skinparam style strictuml
hide empty members
skinparam groupInheritance 2
class Animal
class Cat extends Animal
class Dog extends Animal
@enduml
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述