我们说我有以下代码:
class A {
public:
void doSomething(B* b);
}
class B {
}
我如何在UML图中描述这个?我的第一个想法是A使用B,所以应该有一条从A到B的虚线。但是在一些学校论文中(这是学校作业报告的一小部分)他们似乎使用聚合符号(空钻石和实线)。
这对我来说似乎不对 - 如果A实际上包含指向B作为成员的指针,那似乎是正确的。但是当只有一些方法使用指向B的指针,并且不将它存储在任何成员变量中时,它似乎是错误的。
这里有什么?
(我可以问我的老师,但他们通常需要很长时间才能回答这类问题...老实说,我更信任Stackoverflow的集体大脑信任:))
答案 0 :(得分:4)
答案 1 :(得分:1)
class A
和class B
之间不应该有任何箭头。类之间的箭头用于表示“关联”。
关联表示您正在开发的系统存储 相关类型的实例之间的某种链接。
来源:Properties of associations on UML class diagrams
要捕获/代表void doSomething(B* b);
,您可以尝试使用活动图,有关详情,请参阅this link。