UML 类图中4种关系总结

本文总结了UML类图中的四种关键关系:泛化(继承)、聚合、依赖和关联。通过实例解析了每种关系的概念、表现形式以及在代码中的体现,帮助读者深入理解UML类图的设计原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面4种关系总结

1.泛化

2.聚合

3.依赖

4.关联


1.泛化

就是 父类与子类之间的集成关系


[具体表现]

父类父类实例=new子类()

[UML图](图1.1)

图1.1Animal类与Tiger类,Dog类的泛化关系

[代码表现]

[代码表现]

java代码
 

 
  1. classAnimal{}  
  2.  
  3. classTigerextendsAnimal{}  
  4.  
  5. publicclassTest  
  6. {  
  7. publicvoidtest()  
  8. {  
  9. Animala=newTiger();  
  10. }  
  11. }  
  12.  


2.聚合关系

就包含、集成,不是继承。

比如张三的电脑被偷了,那么电脑的所有组件也不存在了,除非张三事先把一些电脑的组件(比如硬盘和内存)拆了下来。
[UML图](图1.4)

图1.3电脑和组件的聚合关系

[代码表现]
java代码
 

 
  1. publicclassComputer{  
  2. privateCPUcpu;  
  3. publicCPUgetCPU(){  
  4. returncpu;  
  5. }  
  6. publicvoidsetCPU(CPUcpu){  
  7. this.cpu=cpu;  
  8. }  
  9. //开启电脑  
  10. publicvoidstart(){  
  11. //cpu运作  
  12. cpu.run();  
  13. }  


3.依赖

就是需要其他对象或是砬

[具体表现]
依赖关系表现在局部变量,方法的参数,以及对静态方法的调用
[现实例子]
比如说你要去拧螺丝,你是不是要借助(也就是依赖)螺丝刀(Screwdriver)来帮助你完成拧螺丝(screw)的工作

[UML表现](图1.2)
图1.2Person类与Screwdriver类的依赖关系
[代码表现]
java代码
 

 
  1. publicclassPerson{  
  2. /**拧螺丝*/  
  3. publicvoidscrew(Screwdriverscrewdriver){  
  4. screwdriver.screw();  
  5. }  
  6. }  

4.关联

不属于上面的关系时,两个实体有有一些特定关系,为关联

[具体表现]
关联关系是使用实例变量来实现
[现实例子]
比如客户和订单,每个订单对应特定的客户,每个客户对应一些特定的订单;再例如公司和员工,每个公司对应一些特定的员工,每个员工对应一特定的公司
[UML图](图1.3)

图1.3公司和员工的关联关系
[代码表现]
java代码
 

 
  1. publicclassCompany{  
  2. privateEmployeeemployee;  
  3. publicEmployeegetEmployee(){  
  4. returnemployee;  
  5. }  
  6. publicvoidsetEmployee(Employeeemployee){  
  7. this.employee=employee;  
  8. }  
  9. //公司运作  
  10. publicvoidrun(){  
  11. employee.startWorking();  
  12. }  
  13. }  






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一直学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值