【uml】之类图中的关系

简介: 【uml】之类图中的关系

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


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


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


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


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


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


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


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


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


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


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


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


目录
相关文章
|
6月前
|
uml
UML之类图
UML之类图
97 1
|
数据库 uml
UML基础与应用之类图
UML基础与应用之类图
89 0
|
uml
UML中的关系
UML中的关系
145 0
|
测试技术 uml C++
【UML】------四种关系
【UML】------四种关系
153 0
【UML】------四种关系
|
设计模式 数据可视化 测试技术
C++中的UML类图
C++中的UML类图
1202 0
C++中的UML类图
|
uml
UML - UML中类与类的关系
UML - UML中类与类的关系
300 0
UML - UML中类与类的关系
|
uml Java 对象存储
五分钟看懂UML类图与类的关系详解
在画类图的时候,理清类和类之间的关系是重点。类的关系有泛化(Generalization)、实现(Realization)、依赖(Dependency)和关联(Association)。其中关联又分为一般关联关系和聚合关系(Aggregation),合成关系(Composition)。
3547 0
|
Java uml
UML类图关系大全
1、关联双向关联:C1-C2:指双方都知道对方的存在,都可以调用对方的公共属性和方法。在GOF的设计模式书上是这样描述的:虽然在分析阶段这种关系是适用的,但我们觉得它对于描述设计模式内的类关系来说显得太抽象了,因为在设计阶段关联关系必须被映射为对象引用或指针。
1164 0