依赖
use
如果A依赖于B,则B表现为A的局部变量,方法参数,静态方法调用等
public class Person
{
public void drive(Card card)
{
card.u();
}
……
}
public class Card
{
public void u()
{
......
}
……
}
参考我的https://blog.youkuaiyun.com/hejj8023/article/details/70596616
关联
has
表现为变量(has a),类与类之间的联接,它使一个类知道另一个类的属性和方法。例如如果A依赖于B,则B体现为A的全局变量,如person类和company类。
关联关系有双向关联和单向关联:
1、双向关联:两个类都知道另一个类的公共属性和操作。
2、单向关联:只有一个类知道另外一个类的公共属性和操作。
大多数关联应该是单向的,单向关系更容易建立和维护,有助于寻找可服用的类。
关联关系在java中一般
使用成员变量来实现
含义:类与类之间的连结,关联关系使一个类知道另外一个类的属性和方法;通常含有“知道”,“了解”的含义。关联可以是双向的,也可以是单向的
举例:“渔民”需要知道“天气”情况才能够出海
class Driver {
//使用成员变量形式实现关联
Car mycar;
public void drive(){
mycar.run();
}
...
//使用方法参数形式实现关联
public void drive(Car car){
car.run();
}
}
总结
依赖和关联的区别在于依赖是使用use,关联是拥有has.
举例:人依赖于水和空气;汽车依赖汽油;
依赖关系比较好区分,它是耦合度最弱的一种,在java中表现为局域变量、方法的形参,或者对静态方法的调用
use关联关系在java中一般使用成员变量来实现
has我“拥有”这个车。
使用成员变量表达这个意思:车是我自己的车,
use使用方法参数表达:
车不是我的,我只是个司机,别人给我什么车我就开什么车,我使用这个车。