UML关联理解问题

agn*_*zka 8 uml

我已经使用UML了一段时间,我已经阅读了一些关于它的文章,书籍和论坛,但我仍然不理解当两个类应该与关联线连接时(一条简单的线或箭头(或者这些不是相同?)).我将提供三个例子 - 你能告诉我哪一个会导致两个班级处于这种关系中吗?

1.

//a field of OtherClass
    public class MainClass
    {
        private OtherClass other;
    }
Run Code Online (Sandbox Code Playgroud)

2.

//method argument
    public class MainClass
    {
        public void Action(OtherClass other)
        { }
    }
Run Code Online (Sandbox Code Playgroud)

3.

//method return value
    public class MainClass
    {
        public OtherClass Action()
        { }
    }
Run Code Online (Sandbox Code Playgroud)

4.

//used inside a method
    public class MainClass
    {
        private Something something;

        public void Action()
        {
            OtherClass other = something.GetOtherClass();
        }
    }
Run Code Online (Sandbox Code Playgroud)

Ada*_*tek 6

首先,箭头表示关联的可导航性.单箭头表示单向关系,在这种情况下,只有源类知道目标类.两端的箭头表示双向关系,两个类都相互了解.如果没有箭头,则关联可以是默认的双向关联,也可以是为了便于阅读而被抑制.实际上,只有在想要强调关联方向时才应绘制箭头.

当谈到第二个问题时,只有第一个案例描述了MainClass和之间的(单向)关联OtherClass.参数和返回值都不意味着UML意义上的关联(尽管两者都暗示依赖).在最后一个示例中,属性MainClassSomething类之间存在关联something.根据经验,您应该在属性中查找关联.

请注意,dependencyUML 中有一个概念,它用虚线表示.

Pozdrowienia!


小智 0

我通常在 UML 中使用两种不同的连接器:

  1. 当一个类依赖于另一个类的实现时。这意味着一个类正在创建或处理另一个类的实例。所以调用类依赖于实现类。这在您的所有示例中都很明显。

  2. 当一个类扩展或实现另一个类时。