带有多个子代的Plantuml类图:是否可以将箭头分叉?

时间:2018-09-06 11:38:28

标签: plantuml

我的尝试

Animal <|-- Cat
Animal <|-- Dog

结果:

  ┌────────┐
  │ Animal │
  └────────┘
   Δ      Δ
   │      │
┌──┴──┐┌──┴──┐
│ Cat ││ Dog │
└─────┘└─────┘

这不是类图的外观。

我想要什么:

  ┌────────┐
  │ Animal │
  └────────┘
      Δ
   ┌──┴───┐
┌──┴──┐┌──┴──┐
│ Cat ││ Dog │
└─────┘└─────┘

根据建议,我问是否可以在the PlantUML forum上进行。

3 个答案:

答案 0 :(得分:2)

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

enter image description here

答案 1 :(得分:1)

您可以执行以下操作:

intrinsicContentSize

result

答案 2 :(得分:0)

在plantUML中要做的一件有趣的事情,但是“这不是类图应该看起来的样子”是不正确的(至少据我所知)。

对于继承/泛化而言,该符号很清楚,但是是否在箭头之前加入这些行还是在单独的行中使用单独的箭头是视觉偏好的问题/使其更易于理解: -尝试在您用每个孩子到其父级的不同箭头链接的Wiki上绘制图像的草图,这会更加混乱 -在Wiki上向下滚动至https://en.wikipedia.org/wiki/Class_diagram#Generalization/Inheritance