如何在UML类图中显示列表(MutableSequence)?

时间:2019-10-29 06:55:18

标签: python uml

我很好奇,因为我找不到与此有关的任何信息,但是如何用UML类图表示下面的代码呢?

这仅仅是继承吗? 这些__something__的Python特殊方法/符号呢?

from collections.abc import MutableSequence

class Inventory(MutableSequence):

    def __init__(self, *items): 
        self.items = list()
        self.items.extend(items)

    def __setitem__(self, index, value): 
        self.items[index] = value

    def __getitem__(self, index): 
        return self.items[index]

    def __len__(self): 
        return len(self.items)

    def __delitem__(self, index): 
        del self.items[index]

    def insert(self, index, value): 
        self.items.insert(index, value)

1 个答案:

答案 0 :(得分:1)

您的图看起来像

enter image description here

Python的操作可以按照其原始名称(带下划线)进行标注。我省略了第一个self参数,因为它是Python类操作所必需的。代码生成器可以轻松创建它们。如果您想在类中添加静态操作,可以对它们进行原型化(例如,使用<<static>>之类;可以创建一个Python配置文件)。由于Python中未键入任何内容,因此我使用var作为类型。那是一个约定。

为了显示导入位置,您可以添加一个显示MutableSequence名称空间的包结构。遵循这些原则:

enter image description here