如何在UML中表示索引或参数化属性?

时间:2012-12-12 01:07:31

标签: c# java parameters uml indexer

如何在UML中表示索引或参数化属性?

例如,如何撤消以下Java代码:

 class MyClass {

       Object getValue(String key);
       void setValue(String key, Object value);

 }

从一方面我可以简单地描述

enter image description here

但这并不表示这两种方法是相关的。

另一方面,我可以描述它

enter image description here

但这将隐藏这样一个事实,即一个值的多个实例由key参数命名。

以下C#代码出现了类似的问题:

class MyClass
{
    public string this[int i]
    {
        get
        {
        }
        set
        {
        }
    }
}

2 个答案:

答案 0 :(得分:1)

对此没有很好的答案,因为这个类实际上是一个字典/哈希。您可以在此处找到可供选择的选项的讨论:

How to represent a .NET dictionary type in UML? 或者可能这个(如引用): How to describe a contained map in UML class diagram?

答案 1 :(得分:0)

如果我理解,您现在关心的是您的类的实例(每个键/值的实例)。实例以冒号为前缀。要使用您的示例,它们可能看起来像MyClass:MyInstance