UML类图知识简介

最近在看设计模式,发现看类图要比看代码理解记忆好多了,以前也学过类图的知识,所以仅以此文章加深理解记忆。
类:
UML类图知识简介
上图就是一个类用图变现出来的形式,它包括三层,第一层表示类的名称,第二层是类的属性,第三层是类的方法。我们会发现类的属性和方法前面都有修饰符:“+”表示public,“-”表示private,“#”表示protected。
接口:
UML类图知识简介
接口比类的形式表现相对简单,只有2层,第二层表示接口中的抽象方法。

类与类之间的关系

(以下图中类的方法并不能代表什么,我只是想强调类之间的关系)
泛化关系:
表示类与类之间的继承关系,接口与接口之间的继承关系,或类对接口的实现关系。用带三角形箭头的实线表示(子类指向父类)。
UML类图知识简介
依赖关系:
对于两个相对独立的对象,当一个对象负责构造另一个对象的实例,或者依赖另一个对象的服务时,这两个对象之间主要体现为依赖关系。
依赖关系表现在局部变量,方法的参数,以及对静态方法的调用。
由虚线箭头表示,指向所依赖的对象;
UML类图知识简介
关联关系:
对于两个相对独立的对象,当一个对象的实例与另一个对象的一些特定实例存在固定的对应关系时,这两个对象之间为关联关系。
表现在关联的两个对象,其中一个对象持有某个另一个对象的实例变量,或者相互持有实例变量。
用带箭头的实线表示关联关系:
UML类图知识简介
聚合关系与组合关系:
聚合也表示两个对象之间的一种拥有关系(has-a),但是这个关系是一种弱的拥有关系,两者的生命周期是不依赖的。聚合关系用一个带箭头的连续表示,尾巴带一个空心的菱形,箭头指向被拥有的对象。
组合表示的是两个对象之间一种强“拥有”的关系(contains-a),如果B组合成为A,那么B是A的一个整体,B和A的生命周期是一样的。例如是一种部分与整体的关系,部分与整体之间的生命周期是一样的。组合关系用一个一个带箭头的连线表示,尾巴上有实心的菱形,箭头指向被拥有的对象。
组合强于聚合,都是关联关系的一种。
班级与学生的关系就属于聚合关系:
UML类图知识简介
电脑和零件就是组合关系,部分与整体紧密相连:
UML类图知识简介

参考:
http://blog.csdn.net/wulibin136/article/details/6452194

http://www.cnblogs.com/javawebsoa/archive/2013/08/01/3230737.html

http://www.cnblogs.com/silent2012/archive/2011/09/07/2169946.html