在UML类图,就是一个关联关系和依赖关系之间的区别?
据我所知,关联比依赖性更强的关系,但我不知道它是如何强大。
任何例子是更受欢迎:)
在UML类图,就是一个关联关系和依赖关系之间的区别?
据我所知,关联比依赖性更强的关系,但我不知道它是如何强大。
任何例子是更受欢迎:)
是什么依赖和关联之间的区别? :
一般情况下,使用关联来表示类似的类中的字段。 链接是永远存在的,因为你可以随时要求其客户的订单。 它实际上并不需要是一个字段,如果你是从一个更加界面的角度看造型,它可以只表示将返回订单的客户的方法存在。
为了从UML精粹(现在刚出来)的第三版引述“两个元素之间存在依赖关系,如果改变一个元素(供应商)的定义可能会导致更改其他(客户端)”。 这是一个非常空泛的关系,这也就是为什么UML有定型了不同形式的依赖主机。 在代码方面,这样的事情命名参数类型和在临时变量创建一个对象暗示的依赖关系。
...
关联几乎总是意味着一个对象的另一对象作为字段/属性/属性(术语不同)。
依赖关系通常(但不总是)意味着一个对象接受另一个对象作为方法参数,实例化,或使用另一个对象。 依赖关系是非常受关联暗示。
在OOP方面:
协会- > A 具有-一个 C对象(作为成员变量)
依赖- > A 引用 B(作为方法参数或返回类型)
public class A {
private C c;
public void myMethod(B b) {
b.callMethod();
}
}
还有一个更详细的解答 。
依赖是当你定义,需要一个String(用Java,C#,因为字符串是他们一个对象)作为参数,那么你的等级取决于String类的方法等。
协会在声明字符串作为你的类属性等。 那么你的代码与字符串类关联。
String name = null //: is a association.
依赖 -在A级变化会影响它的变化是依赖类。 例 - 圆是依赖于形状(接口)。 如果你改变形状,它影响圈了。 所以,圆形对形状的依赖。
协会 -意味着有2个对象之间有一定的关系
(一对一,一对多,多对多)
协会是2类型-的
聚合
1)组成 -更强协会或2个的对象之间的关系。 你在里面另一个类的作成B类的一个对象
public class A { B b; public void setB(){ this.b= new B(); } }
如果我们删除类A,B不存在(B对象是内仅创建)。
另一个例子 - 身体和肝脏。肝不能存在外部机构。
2)聚合 - 2个物体之间的弱类型协会 。
public class A {
B b;
public void setB(B b_ref){
this.b= b_ref;
/* object B is passed as an argument of a method */
}
}
即使你删除类A,B会存在外(B是外部创建并传递到A类)
这 - 人与车的另一个例子。 人有一辆车,但人与汽车独立存在。
在这里: “协会与依赖与聚集与组成” ,你有UML类图和代码片断很大瓦杰mecum。 作者给了我们关系的列表:协会,依赖,聚合,组成在一个地方。
依赖关系很一般,降低复杂度大约减少依赖尽可能。
关联是一个强大的(静态)的依赖。 聚合和组合甚至更强。