依赖是对象间最弱的一种关系,一个对象依赖于另一个对象是指这个对象和它之间存在短期的关系。
在这个短暂的关系中,依赖的对象通过调用被依赖对象的方法来获取它提供的服务,或者依此来配置被依赖的对象。
关联是对象间长期的关系。在关联中,一个对象保存对另一个对象的引用,并在需要的时候调用这个对象的方法。
顺便我把聚合和组合也抄上巴
聚合表明一个对象是一个更大的整体的一部分。这个被包含的对象可能会参与多个的聚合关系,并相对整体而对立存在。
组合表明一个对象是被一个更大的整体所拥有。这个被包含的对象可能不参与更多的组合关系,并且不能独立于这个整体而存在。
依赖一般的表现方法是方法的局部变量,或者是方法内对静态方法的引用!
关联一般的表现方法是对象的全局变量!
依赖:
class A
{
void methodA()
{
B b = new B();
b.methodB();
}
}
关联:
class B
{
B b = new B();
void methodA()
{
b.methodB();
}
}