Oop UML:当一个类具有指向另一个类的方法参数指针时

Oop UML:当一个类具有指向另一个类的方法参数指针时,oop,uml,class-diagram,Oop,Uml,Class Diagram,当一个类具有指向另一个类的方法参数指针(或引用,或对象)时,在UML中,它反映为关联或聚合,带有菱形,或者有一些特定的符号 是一个类到另一个类的链接,因此指针/引用描述一个关联 /描述关联的类型,因此实际上是关联的去具体化(但有些关联类型不是聚合/组合) 是否要使用聚合或关联取决于要在图表中显示的详细程度 根据问题描述,这种连接是较弱的,因为它不是一个静态链接,而是一个瞬态链接。在这种情况下,更合适的做法是使用关系而不是关联。您需要的不是关联(也不是作为特定关联的聚合或组合),因为关联指的是Cl

当一个类具有指向另一个类的方法参数指针(或引用,或对象)时,在UML中,它反映为关联或聚合,带有菱形,或者有一些特定的符号

是一个类到另一个类的链接,因此指针/引用描述一个关联

/描述关联的类型,因此实际上是关联的去具体化(但有些关联类型不是聚合/组合)

是否要使用聚合或关联取决于要在图表中显示的详细程度


根据问题描述,这种连接是较弱的,因为它不是一个静态链接,而是一个瞬态链接。在这种情况下,更合适的做法是使用关系而不是关联。

您需要的不是关联(也不是作为特定关联的聚合或组合),因为关联指的是ClassA的属性类型ClassB

这里,对于方法参数,可以在类之间使用依赖项箭头(虚线箭头)。这是一种非常普遍的关系,应该符合你的目的


请参见此处的示例以获取解释:

正如其他人所解释的,您应该使用依赖关系,而不是任何形式的关联(聚合和组合)

依赖性意味着源元素的规范或实现需要目标元素

但是,有许多不同类型的依赖项。依赖项的类型可以通过关键字和原型来指定。在您的情况下,您应该
依赖项
与关键字
一起使用:

为了解释
,我引用了本书第196页的一部分:

此依赖关系(用法)由以下任一情况生成:

1-A类操作需要B类参数

2-A类操作返回B类值

3-类A的操作在其实现的某处使用类B的对象,但不作为属性

注:依赖项可能具有的其他关键字/原型包括调用、创建、派生、实例化、允许、实现、优化和跟踪。

“使用依赖项不指定客户如何使用供应商,除了客户的定义或实现使用供应商这一事实。例如,它可能意味着某种方法(s) 在一个(客户)类中使用另一个(供应商)类的对象(例如参数)。”


ref:

很好,因为引用似乎是暂时的,而不是静态的,依赖关系会更合适。您如何知道它在这种情况下的用途?@icepack这是
的定义。请参阅我从UML 2和《统一过程手册》中添加到我的答案中的部分。问题中的任何内容都不会将其限制为这种类型。它可以是call或tra行政长官example@icepack绝对不是。调用和跟踪依赖具有完全不同的含义。请阅读UML规范:“调用关系是从一个操作定义和指定到另一个操作的,因此源元素调用目标操作。”“跟踪关系意味着依赖元素导致独立的跟踪语义依赖关系(例如,从用例到类)。”我不同意。问题中没有任何东西表明使用模型的限制。指针可以是接收者可以调用的函数指针。这里可以找到一个非常直观的解释: