依赖与关联之区别
Java学习
2009-12-01
@H_404_8@
@H_404_8@
只要存在对象间的交互,无论是控制的还是数据的,两者之间就存在依赖。我们现在说的依赖,它是比关联更弱的关系。
@H_404_8@
依赖是对象间短暂的一种关系,在这个短暂的关系中,被调用类表现为调用类的局部变量、方法的参数、以及调用类调用被调用类的静态方法,在这些情况下,我们说调用类和被调用类之间就属于依赖关系。
@H_404_8@
关联是对象间长期的一种关系,在这个长期的关系中,被调用类表现为调用类的引用、或者调用类的属性,在这些情况下,我们说调用类和被调用类之间就属于关联关系。
@H_404_8@
常见的关联关系有:一对一关系、一对多关系、多对多关系,例如典型的客户与订单、公司与员工的关系就是一种关联关系。
@H_404_8@
实例:
@H_404_8@
一、依赖关系:
@H_404_8@
1、作为调用类的局部变量
@H_404_8@
Class A
@H_404_8@
{
@H_404_8@
Void MethodA()
@H_404_8@
{
@H_404_8@
B b = new B();
@H_404_8@
b.MethodB();
@H_404_8@
}
@H_404_8@
}
@H_404_8@
2、作为调用类方法的参数
@H_404_8@
Class A
@H_404_8@
{
@H_404_8@
Void MethodA(
B b)
@H_404_8@
{
@H_404_8@
b.MethodB();
@H_404_8@
}
@H_404_8@
}
@H_404_8@
3、调用被调用类的静态方法
@H_404_8@
Class A
@H_404_8@
{
@H_404_8@
Void MethodA()
@H_404_8@
{
@H_404_8@
B.StaticMethod();
@H_404_8@
}
@H_404_8@
}
@H_404_8@
@H_404_8@
@H_404_8@
二、关联关系
@H_404_8@
1、作为调用类的引用
@H_404_8@
Class A
@H_404_8@
{
@H_404_8@
B b;
@H_404_8@
Public Class A
@H_404_8@
{
@H_404_8@
b = new B();
@H_404_8@