6

我的尝试:

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

结果:

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

这不是类图应该的样子。

我想要的是:

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

正如建议的那样,我在 PlantUML 论坛上询问这是否可行。

4

3 回答 3

3

你可以这样做:

@startuml
class Animal
together {
  class Dog
  class Cat
}
Animal <|-- Cat
Dog -- (Animal, Cat)
@enduml

结果

于 2018-11-21T21:45:21.403 回答
2

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

符号对于继承/泛化很清楚,但是无论您是在箭头之前加入行还是使用单独的箭头使用单独的行都是视觉偏好/使其更容易理解的问题:

于 2018-11-28T08:39:20.033 回答
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

在此处输入图像描述

于 2020-07-23T21:14:26.157 回答