我已经使用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)
首先,箭头表示关联的可导航性.单箭头表示单向关系,在这种情况下,只有源类知道目标类.两端的箭头表示双向关系,两个类都相互了解.如果没有箭头,则关联可以是默认的双向关联,也可以是为了便于阅读而被抑制.实际上,只有在想要强调关联方向时才应绘制箭头.
当谈到第二个问题时,只有第一个案例描述了MainClass和之间的(单向)关联OtherClass.参数和返回值都不意味着UML意义上的关联(尽管两者都暗示依赖).在最后一个示例中,属性MainClass与Something类之间存在关联something.根据经验,您应该在属性中查找关联.
请注意,dependencyUML 中有一个概念,它用虚线表示.
Pozdrowienia!
小智 0
我通常在 UML 中使用两种不同的连接器:
当一个类依赖于另一个类的实现时。这意味着一个类正在创建或处理另一个类的实例。所以调用类依赖于实现类。这在您的所有示例中都很明显。
当一个类扩展或实现另一个类时。