依赖和关联的对比和区别
【摘要】
依赖
理解分析
依赖关系在uml图中用虚线加箭头表示,箭头指向的类表示该类被依赖。依赖体现的是一种使用和被使用的关系,例如下面的例子中举例的一样,人可以在开车的时候依赖汽车,当人不需要开车的时候就不依...
依赖
理解分析
- 依赖关系在uml图中用虚线加箭头表示,箭头指向的类表示该类被依赖。
- 依赖体现的是一种使用和被使用的关系,例如下面的例子中举例的一样,人可以在开车的时候依赖汽车,当人不需要开车的时候就不依赖汽车。
- 依赖关系是uml五种关系中,耦合度最小的一种
- 生命周期很小,在依赖其他的类之后就结束了两个类之间的关系
三种表现形式:
- 被依赖的类作为方法参数传递给依赖类
- 被依赖的类在依赖类的方法中被声明和实例化
- 被依赖的类声明了一个静态公有的方法,依赖类在方法中直接通过类名点方法的形式调用。
UML图
代码实现
/**
* @program: zwbStudy
* @description: 汽车
* @author: 翟文彪
* @create: 2022-07-21 15:04
**/
public class Car {
public void move(){
System.out.println("汽车移动");
}
public static void speedUp(){
System.out.println("汽车加速");
}
}
/**
* @program: zwbStudy
* @description: 人
* @author: 翟文彪
* @create: 2022-07-21 15:04
**/
public class Person {
// 第一种依赖形式
private void drive(Car car){
car.move();
}
// 第二种依赖形式
private void drive(){
Car car = new Car();
car.move();
}
// 第三种依赖形式
private void drive(String param){
Car.speedUp();
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
关联
理解分析
- 关联的关系用实线加箭头的形式表示,箭头指向的类时被关联的类
- 关联体现的关系比依赖更强
- 关联(Association)关系是类与类之间的联接,它使一个类知道另一个类的属性和方法。关联可以是双向的,也可以是单向的。在Java语言中,关联关系一般使用成员变量来实现。
UML图
代码实现
/**
* @program: zwbStudy
* @description: 地址
* @author: 翟文彪
* @create: 2022-07-21 15:10
**/
public class Address {
private String address;
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
/**
* @program: zwbStudy
* @description:
* @author: 翟文彪
* @create: 2022-07-21 15:10
**/
public class Customer {
private Address address;
// 注册
private void register(){
address.setAddress("安次区");
System.out.println(address.getAddress());
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
依赖和关联的区别
● 从耦合性的角度对比
发生依赖关系的两个类都不会增加属性。其中的一个类作为另一个类的方法的参数或是某个方法的变量
发生关联关系的两个类,其中一个类作为另一个类的属性,属性是一种更为紧密的耦合关系,是更加长久的持有关系,所以关联的耦合性比依赖的耦合性更强
● 从两种关系各自存在的声明周期角度对比
依赖的生命周期仅仅存在于调用被依赖类的当前的方法中,方法结束后两个类之间的依赖关系也就结束了。
关联的关系是在类被实例化的时候就产生了,当类销毁的时候关联关系才结束
文章来源: blog.csdn.net,作者:翟文彪,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/zwb568/article/details/125914239
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)