uml两个类的关系是否可能超过2?

时间:2015-01-21 01:37:39

标签: class uml diagram

我制作了这两个calsses并尝试将其表达为UML类图

publc Class A
{
    public A(){}     
    public void Funct1()
    {
        B b = new B(this);
    }
}

public Class B
{
    A m_A = null;
    public B(A a)
    {
        m_A = a
    }
}

我认为“A”类对B具有“依赖性”,因为A不保持对B的引用 我认为“B”类具有“与A的单向关联”,因为B类保持对A的引用。

所以,我按照以下方式绘制类图。

        dependency
        -------->
     [A]        [B]
           <-
 one directioinal association

但是,即使对我来说,这个图表看起来有点不对劲。 所以,我想知道如何在类图中表达这种关系。

2 个答案:

答案 0 :(得分:2)

不,由于你自己提到的原因,这对我来说似乎完全有效。

唯一的问题是“有些错误”是指A和B之间存在双向依赖关系,这使得两个类紧密耦合。你应该尽可能避免紧耦合,但有时你没有其他选择。

答案 1 :(得分:0)

只需要在UML中为您的示例定义关联。但是,如果有可能将空值设置为m_A,则无法确定B侧的多重性,A侧的多重性为0..1。 在您的示例中,不需要依赖UML来绘制UML。依赖性没有对时间的影响。它在模型元素定义之间定义。 阅读UML Superstructure以获取有关依赖关系的精确信息。