UML类图:操作与关联

UML类图:操作与关联,uml,relation,class-diagram,operation,Uml,Relation,Class Diagram,Operation,有些情况下,我们似乎可以将某些东西建模为操作和关系。例如,设想一个场景,其中我们有一个容器可以加载一些组件。可以将其建模为容器和组件之间的关联:container Load->Components,或者建模为容器类内部的操作:+Load(c:component)。我想知道这两种方法是否都正确?如果否,为什么?如果是,那么操作和关系之间的主要区别是什么(这里是关联)操作和关系是两个完全不同的概念。所以你不能真正比较它们 您很可能希望比较属性和关联。属性是类型化的,并且通常与另一个类一起键入。在这种

有些情况下,我们似乎可以将某些东西建模为操作和关系。例如,设想一个场景,其中我们有一个容器可以加载一些组件。可以将其建模为容器和组件之间的关联:
container Load->Components
,或者建模为容器类内部的操作:
+Load(c:component)
。我想知道这两种方法是否都正确?如果否,为什么?如果是,那么操作和关系之间的主要区别是什么(这里是关联)

操作和关系是两个完全不同的概念。所以你不能真正比较它们

您很可能希望比较属性和关联。属性是类型化的,并且通常与另一个类一起键入。在这种情况下,最好将属性替换为显示所属属性的关联,如下所示:

请注意使
class2
成为
Class1
的(公共;
+
)所有属性的点

操作将始终具有行为。它可以接受参数,也可以不返回某些内容。您可以创建一个操作
class2
,该操作返回
class2
的一个实例,但该实例将与某些行为相关联。否则,创建一个操作将毫无意义,您将使用一个属性来代替