如何在UML中绘制类的 метaclass?

3 投票
3 回答
2852 浏览
提问于 2025-04-15 14:38

如果类A是由它的__metaclass M创建的,那么在UML图中箭头会是什么样子的呢?

看起来与刻板印象的语法有关。

我还没有查看过Python UML工具

3 个回答

0

我会用“ metaclass”这个标签来表示一种依赖关系。这不是一个预先定义好的标签,但这样做可以让读者清楚地理解这是什么样的依赖关系。

1

这个回答来自于 UML 2.2 超结构规范

关于类的回答: “比如,«create»这个关键词可以出现在一个操作名称旁边,表示这是一个构造函数操作。同时,它也可以用来标记两个类之间的使用依赖关系,表示一个类创建了另一个类的实例。”(第690页[706-AdobeReader],附录B,未编号的第四段,页面上的第一段)我觉得这适用于元类。

关于立体图的回答: 这算是一个回答,但并没有提到你在帖子中使用的“create”这个词,可能只是用词不太明确。这个符号是一个普通的线条,旁边有一个填充的三角形。我也见过在像Rational Software Modeler这样的工具中使用<<extend>>这个关键词。(第657页[673-AdobeReader] 图18.3和第659页 图18.5,配置文件部分)

你可能还想澄清一下,你所说的元类是指MOF/模型定义中的意思,还是在某种语言或其他上下文中。

如果你进一步完善你的问题,请告诉我。

4

元类是用类的表示法加上 <<metaclass>> 这个标记来表示的。一个类和它的元类之间的关系可以用一种依赖关系来描述,通常用一条虚线连接这两个,箭头指向元类,并标注上 <<instantiate>> 这个标记。

撰写回答