如何在UML中表示索引或参数化属性?
例如,如何撤消以下Java
代码:
class MyClass {
Object getValue(String key);
void setValue(String key, Object value);
}
从一方面我可以简单地描述
但这并不表示这两种方法是相关的。
另一方面,我可以描述它
但这将隐藏这样一个事实,即一个值的多个实例由key参数命名。
以下C#
代码出现了类似的问题:
class MyClass
{
public string this[int i]
{
get
{
}
set
{
}
}
}
答案 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