【uml】之类图中的关系

          uml早就画完了图,但是自己迟迟没有总结,因为总觉的自己把握的不到位,虽然现在也还是不到位,废话少说,上篇博客总结了用例图中的几种关系,这篇就讨论一下类图中的几种关系。


          在uml的所有图中,就我目前的水平,我觉得用例图和类图是最重要的,用例图上次已经介绍过了,这篇主要介绍类图,想要画好类图,就要先学会抽象类!之前我一直纠结于类图该如何抽象,问了几个人之后发现各有各的想法,不过对于十一期来说,大家主要是从两个方面来抽象类的,一部分人是从角色来抽象,另一部分人是从功能来抽象,一种看起来简单,一种看起来复杂,但是师姐告诉我:“不用纠结于到底该如何抽象,每个人都有自己抽象的方法,但是抽象,就是抽象出系统中的名词。”(大致是这么个意思)。

             要介绍类图中的关系,咱们先搞清楚几个概念:


             接口:对于接口,我查了一些资料,找到了最贴切的一种比喻:一个类可以实现多个接口,一个接口也可以被多个类实现。使用形象一点的比拟方法,可以把类当成一个人,接口则当做一个身份。一个人可能有多个身份(一个类可以有多个接口),他可能是军人(军人接口定义军人的属性和行为),作家(作家接口定义作家的属性和行为)等,不同的身份使得他有不同的能力和属性。


             一个身份(接口)也能够被多个人使用(一个接口可以被多个类实现)。比如一个军人身份可以给很多人,但是这些人完全可以用不同的能力和属性实现这个身份,他们可能是空军军官,也可能是海军列兵。身份只定义了一个人是什么,却不会告诉别人在这个身份下该这么做。怎么做是这个人本身的事情(接口仅仅定义相关的方法和属性而不实现她们)。



              类中大致有以下几种关系:泛化(Generalization),  实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。

泛化和继承:师哥的博客是这么说的:继承关系是泛化关系的反关系,也就是说子类是从父类继承的,而父类则是子类的泛化。

              实现:实现是接口和类之间的关系,类可以实现接口的功能。


              关联:关联可以分为单向和双向,关联表示一个类知道另一个类。


              依赖:只能是单向的,是一种使用关系,被使用事物的改变可能会影响依赖他的事物。


              聚合:弱于组合,部分离开整体仍可存在


              组合:强于聚合,部分存在即整体存在,整体存在才有部分存在。

评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

盖丽男

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

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

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

打赏作者

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

抵扣说明:

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

余额充值