UML类图详解

UML类图并不是表示UML就是类图,类图只是UML图的一种致我们最常用的一种,此外UML图还包括用例图等,本编文章讲的是类图

 

UML类图

1.用于描述系统中类(对象)本身的组成和类(对象)之间的各种静态关系

2.类之间的关系:依赖,泛化(继承),实现,关联,聚合与组合

3.类图简单举例

UML类图详解

用UML类图表示:

UML类图详解

关系说明:

1.依赖:只要是类中用到了对方,那么他们之间就存在依赖关系,如果没有对方,连编译都通过不了

举例

UML类图详解

类图结果:

UML类图详解

PersonServiceBean对四个类都是依赖,所以都画指向被依赖类的虚线就行,而PersonDao又是在成员变量中new对象,属于聚合,所以可以这样表示:

关于UML类图的画法如上图:成员变量为第二行(那个标志),对象在前面个类型在后面:方法为下面几行,可以看到标志不同,返回值类型在后面,方法名在前面,里面的参数也是一样,类在后面对象在前面

 

依赖关系情况(在类中使用到的):

1..类的成员属性

2..方法的返回值类型

3..方法接收的参数类型

4.方法中使用到的

 

2.泛化关系(继承):是依赖关系的特例

例子(只表示关系,不考虑代码规范):

UML类图详解

用UML类图表示:

UML类图详解

注意:实线,三角箭头

 

 

3.实现关系:就是A类实现B类,也是依赖关系的特例

 

例子:

UML类图详解

(PersonServiceBean实现了接口PersonService)

UML类图实现:

UML类图详解

 

 

 

4.关联关系:类于类之间的联系,依赖关系的特例

关联管理具有导航性,即双向关系或单向关系,关系具有多重性,即一对多,或多对一

举例:

UML类图详解

UML类图:

UML类图详解

两个一对一,连线接口处,都写上1 无论是单向一对一,还是双向一对一

 

5.聚合关系:整体与部分的关系,整体和部分可以分开,是关联关系的特例,所以它也具有导航性和多重性

例子:电脑与鼠标,键盘的关系

UML类图详解

用类图表示:

UML类图详解

鼠标和键盘都聚合到电脑上,所以指向电脑,为空心菱形

 

6.组合关系

以上述鼠标键盘为例:如果键盘鼠标是在电脑类中创建的对象,而不是传入的对象,那么销毁了电脑对象,也会销毁鼠标键盘,所以是共生共灭,属于结合关系

代码改为:

UML类图详解

类图表示为:

UML类图详解

组合到哪里,就指向哪里,实心菱形

 

 

 

组合和聚合的区别:

组合不可分开,聚合可以分开:

如下图Person和Head是组合,和IDCard是聚合

UML类图详解

类图表示:

UML类图详解