UML统一建模语言
UML的目标是以面向对象图的方式来描述任何类型的系统,截止UML2.0一共有13种图形(UML1.5定义了9种,2.0增加了4种)。分别是:用例图、类图、对象图、状态图、活动图、顺序图、协作图、构件图、部署图9种,包图、时序图、组合结构图、交互概览图4种。这里我们因为要学习面向对象的设计模式,所以我们这里就介绍一下类图即可。
下面是我在网上随便找的一个UML类图
类
如图所示用矩形表示一个类。其中最上方写的是这个类的类名,第二行写的是这个类的属性,第三行写的是这个类的方法。
这里的+表示的是权限的修饰。修饰规则如下
+表示public
-表示private
#表示protected
接口:有两种表示法
方法一:
用一个矩形框表示:其中第一行是固定的“<>” 第二行表示的是该接口下的抽象方法
方法二:
这是“棒棒糖表示法” 与类的表示法一样:第一行是接口名称,第二行是空白的,因为接口没有属性
第三是该接口下的方法。为了和一般的类表示法做区分,在这个矩形上加一个圆圈和一个直线画出来的类似棒棒糖的图形表示这是一个接口
继承关系
如图红色框起来的:直线+空心三角形,表示的就是集成关系。例如:鸟类继承自动物类
实现关系
红色框起来的:虚线+空心三角形 表示的便是接口的实现关系
依赖关系
红色框起来的:虚线+箭头表示的就是依赖关系:例如:动物要依赖于氧气和水
聚合关系:
聚合表示一种弱拥有关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分
聚合关系用空心的菱形+实线箭头来表示
如图:雁群与大雁的关系就是一种聚合关系:雁群拥有大雁,而大雁不一定一定在雁群。
聚合关系在UML图上用: 空心的菱形+直线+箭头表示
组合(合成)关系:
是一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样
如图:鸟与翅膀的关系就是一种强拥有的组合关系,鸟一定有翅膀。
组合关系用:实心的菱形+直线+箭头表示 ,其中可以在两头标识出,基数。
关联关系:
也是用来表示类与类的关系的,当一个类需要知道另一个类的时候采用关联关系。
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019112700183692.png
如图:企鹅需要知道气候才能进行迁徙繁衍等,当然这个举例不是太好。
关联关系在UML图中用:直线+箭头来表示
最后就是描述:
用来说明类或者某些关系的时候用
如图:红色框起来的:带卷角的矩形便是用来做描述的。描述的文字写在这个矩形中。