UML的六大关系---泛化、实现、关联、聚合、组合、依赖

前言

讲到设计模式,就会有 U M L UML UML类图这个东西。
一开始就很难理解各种线啥意思,这里做一个笔记记录一下。

同时如果我的设计专栏博客里面对类图有些问题的话,这里可以做一下回顾。


1. 泛化关系(Generalization)

表示一般与特殊的关系,通过带空心三角形的实线表示,指向父类。
例如,动物和老虎的关系,其中动物是父类,老虎是动物的一个具体类型。‌

在C++中,继承关系其实就是泛化关系。
在这里插入图片描述

2. 实现关系(Realization)

表示类与接口之间的关系,通过带空心三角形的虚线表示,箭头指向接口。例如,一个操作接口有绘画接口,Person类有Draw去实现。

这个实现就相当于虚函数,子类重载函数。

在这里插入图片描述

3. ‌关联关系(Association)

表示类与类之间的联系,通过实线表示。关联可以是双向的或单向的,通过箭头表示方向。
例如,老师与学生之间的关系,老师有多个学生,每个学生也有多位老师,双向关联。
一个学生只拥有一张床,单向关联。
在这里插入图片描述

4. 聚合关系(Aggregation)

表示整体与部分的关系,部分可以离开整体单独存在。通过带空心菱形的实线表示,菱形指向整体。
例如,汽车与轮胎的关系,轮胎可以脱离汽车独立存在。‌

在这里插入图片描述

5. 组合关系(Composition)

也是整体与部分的关系,但部分不能离开整体单独存在。通过带实心菱形的实线表示,菱形指向整体。例如,人和心脏的关系。可以理解为心脏、血液、骨骼…组成了一个人
在这里插入图片描述

6. 依赖关系(Dependency)

表示一个类使用另一个类。通过带箭头的虚线表示,箭头指向被使用的类
例如,人雕刻要用工具,人相当于依赖工具。

在这里插入图片描述

最后贴一个我看书的一个总的图,结合了各种关系。上面六种明白了之后,考虑一下总图。
下面这幅图能看明白,后面看设计模式的类图都算是比较easy了。
在这里插入图片描述

总结

六种关系的熟悉是学习设计模式的基础。
这里做一个记录,后面如果有遗忘,做一个回顾。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

澄澈i

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

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

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

打赏作者

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

抵扣说明:

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

余额充值