java - UML 关联 - 什么是“角色”的代码等价物?
问题描述
UML 关联角色的代码等价物是什么?例如,我有下面的 UML 图:
从 Graph 类到 GraphNode 类有一个关联箭头。关联箭头旁边是文本-nodesMap 0..*
。我知道这是与角色名称nodesMap的关联关系。关系从0到多。关于这个图表及其代码等价物,我有两个问题:
- 角色前面的破折号是什么意思?节点映射是私有的吗?
- Graph 类中的nodesMap 是什么?它是 Graph 类的成员吗?此外,如果它是一个成员,它的类型是什么?为什么它没有与其他变量一起列出,例如在 GraphNode 类中(例如,组件属性)?
解决方案
角色前面的破折号是什么意思?节点映射是私有的吗?
是的,符号是:
+
: 上市-
: 私人的#
: 受保护~
: 包裹
Graph 类中的nodesMap 是什么?它是 Graph 类的成员吗?
是的,对于 Java 语言,nodeMap是一个属性。在 UML 中,这意味着属性 end 由Graph拥有。
此外,如果它是一个成员,它的类型是什么?为什么它没有与其他变量一起列出,例如在 GraphNode 类中(例如,组件属性)?
它的类型是GraphNode的集合,因为关系的目标是类GraphNode并且多重性是 0..* 意味着任何数字 ≥ 0。支持集合的方式是免费的,无需额外信息说明它是否已排序和/或元素是独一无二的等
请注意,您还可以在类中的其他属性中表示该属性- nodesMap: GraphNode [0..*]
推荐阅读
- android - 在 ConstraintLayout 中换行
- mongodb - 在返回的查询文档中添加排名系统?
- sql - 使用 SQL 进行词条匹配
- scala - 在 Spark 代码(Scala)中生成序列号的最佳选择是什么?
- android - 页面重新加载时未调用 Android Webview onReceivedTitle
- angularjs - 如何访问参数以获取 $resource 中的单个对象?
- canvas - 如何删除画布中形状之间出现的不需要的白线
- java - 如何在 jmeter webdriver 采样器中使用我自己创建的 Java jar?
- css - 如何从样式组件中扩展(继承)全局 CSS 类
- ios - 从 Firebase 存储下载并查看 ios 中的文档