我正在尝试为使用联合和列表类型提示的类生成UML图。一个例子如下:
在运行
我得到了一个更接近我的目标的UML描述: 但是当我将类型为
from dataclasses import dataclass
from typing import Union
@dataclass
class ClassA:
name: str
@dataclass
class ClassB:
an_attribute: int
@dataclass
class ClassC:
my_class: Union[ClassA, ClassB]
在运行
pyreverse -ASmn stackoverflow_example.py -o png
命令时,我得到了一个 UML 图,该图未显示 classA 和 classB 的用法:
如果我将 ClassC
中的代码替换为:@dataclass
class ClassC:
my_class: ClassA
我得到了一个更接近我的目标的UML描述: 但是当我将类型为
ClassB
的东西分配给my_class
时,这意味着我会收到一个警告提示,这正是它应该做的。
我对Union
的理解是我会得到像这样的东西:
示例中展示的是Union,但List和其他类似。
是否有一种方法可以做到这一点,还是这是一种不应该做的设计?