前言
刚开始学习UML视频的时候感觉很新鲜,因为之前没有学过里面的东西。当看完之后,你就会有一个莫名的恐惧感。整个UML的核心是类与类, 类与接口, 接口与接口之间的四种关系(泛化,关联,依赖,实现)和九种图(用例图、类图、对象图、状态图、活动图、序列图、协作图、构件图、部署图 ),把关系搞明白了,画图就会很容易,理解起来也就非常轻松。下面让我们来逐一分析UML中的这四种关系吧~泛化关系
泛化表示类与类之间的继承关系、接口与接口之间的继承关系。在UML图中使用一条带有空心三角箭头的实线指向父类,子类指向父类,表示一个类(称为子类、子接口)继承了另外的一个类(称为父类、父接口),继承父类的新功能,也可以增加自己新的功能。
比如:形状,它是一个统称,相当于一个父类,而矩形,圆形,菱形等等都是形状的一个种类。
继承是类与类或者接口与接口之间最常见的关系
关联关系
关联表现为变量(has a),是类与类之间的连接,它使一个类知道另一个类的属性和方法。例如person类和company类。关联关系有双向关联和单向关联:
1、双向关联:两个类都知道另一个类的公共属性和操作。
2、单向关联:只有一个类知道另外一个类的公共属性和操作。
双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
UML图中实现使用一条实线连接相同或不同类,指向被拥有者
聚合关系:
是整体与部分的关系,且部分可以离开整体而单独存在。箭头及指向:带空心菱形的实心线,菱形指向整体。实线空心
例4:车和轮胎是整体和部分的关系,轮胎离开车仍然可以存在
组合关系:
是整体与部分的关系,但部分不能离开整体而单独存在。箭头及指向:带实心菱形的实线,菱形指向整体,实线实心
例5:公司和部门是整体和部分的关系,没有公司就不存在部门。
依赖关系
依赖描述的是一种使用use的关系,即一个类的实现需要另一个类的协助,
这种关系是由一条带箭头的虚线,指向被使用者。
例如:动物有几大特征,如有新陈代谢,能繁殖。而动物要有生命力,需要氧气、水以及食物等。也就是说,动物依赖氧气和水,他们之间的关系式是依赖关系,用虚线箭头来表示,如下图;
实现关系
实现关系是一种类与接口的关系,表示类是接口所有特征和行为的实现.,一个类实现了一个接口。
这种关系式用用带三角箭头的虚线,箭头指向接口。
例如:一个circle类实现了一个shape;一个遥控器类实现了一个电视机换台的接口
这种4种关系的强弱程度可以表示为:泛化=实现>关联>依赖。
总结