十分钟掌握uml符号!把类图画给面试官看!

开始听我扯

首先从语序上面来说
顾客有地址 关联关系 从顾客出发的箭头,黑三角箭头
然后 你有我,我有你,应该是两个箭头,于是消了,就变成一个直线
自己关联自己,就是自己给自己画箭头。

接下来是继承关系,这个虚吗?这个可不虚,他们有物理结构上的关联(虽然没有像关联那样,写在类内部,但继承,你懂得,可以访问到父类),所以就是 实线 的 空心三角形。
同样的也是 A继承B,那么就是 A指向B。

然后下一个关系聚合关系,注意注意,还是要保证谁是主要的,老师聚合成了学校。这么说
那就是从老师出发,然后一个空菱形指向学校。主体是老师,学校没了,老师还在。

组合关系,强关系,手指组成了手,手没了,手指还在吗?显然是没有了,所以这里是黑菱形箭头,而且是实线。

另一个比较虚的就是实现关系了,说他虚吧,也是一样的,我不关注你怎么实现的,我只用把接口定义好了就可以了。 实现类 --虚线 +虚线三角形 - 被实现类(接口)

下一个是 依赖关系,这一听就不是什么强关系,而且像上面提到的,都是真真切切的,结构设计上就是作为内部属性的。这个只是依赖,很弱,就是虚线了。(就是像一些局部变量,像一些形参用到了其他的类,就是当前这个类依赖那个类了),也是 依赖 --虚线 +虚线箭头 - 被依赖类
(我觉得还是对于被依赖的东西来说,我压根就不关注你)

怎么记忆方向呢

起码根据我的逻辑,谁是主语,那么箭头就是从谁出发的。

关联关系: a里面有b,a关联了b。
继承关系:狗继承了狼。
组合关系:手指组成了手,手组成了身体(的一部分),从手指出发,从手出发
聚合关系:老师聚集在了学校,
实现关系:汽车实现了可以开,自行车实现了可以骑
依赖关系:人依赖地铁(人坐地铁,飞机,汽车太多了)(非常非常弱的关系,人可以依赖的东西太多了,所以他就是最简单的画法,虚线 + 虚线箭头)

最后总结一下 特征

再过一遍,什么线,什么箭头
关联关系:实线 三角 实心
继承关系:实线 三角 空心
组合关系:实线 菱形 实心的(相较于聚合,是更强的关系,因为组合成的东西没有了,这些部件也没用了)
聚合关系:实线 菱形 空心
实现关系:虚线 虚线三角形
依赖关系:虚线 虚线箭头

小测试题(答案在最底下)

自己看看能不能认出这些关系吧

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
从上到下依次答案是:

关联
双向关联(互相关联)
自关联
继承
组合
聚合
实现
依赖

参考:

黑马设计模式的笔记整理(UML图部分)

题外话

线下面试让我写装饰器的UML类图,没写出来。遂学之。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值