UML类图详解
UML类图并不是表示UML就是类图,类图只是UML图的一种致我们最常用的一种,此外UML图还包括用例图等,本编文章讲的是类图
UML类图
1.用于描述系统中类(对象)本身的组成和类(对象)之间的各种静态关系
2.类之间的关系:依赖,泛化(继承),实现,关联,聚合与组合
3.类图简单举例
用UML类图表示:
关系说明:
1.依赖:只要是类中用到了对方,那么他们之间就存在依赖关系,如果没有对方,连编译都通过不了
举例
类图结果:
PersonServiceBean对四个类都是依赖,所以都画指向被依赖类的虚线就行,而PersonDao又是在成员变量中new对象,属于聚合,所以可以这样表示:
关于UML类图的画法如上图:成员变量为第二行(那个标志),对象在前面个类型在后面:方法为下面几行,可以看到标志不同,返回值类型在后面,方法名在前面,里面的参数也是一样,类在后面对象在前面
依赖关系情况(在类中使用到的):
1..类的成员属性
2..方法的返回值类型
3..方法接收的参数类型
4.方法中使用到的
2.泛化关系(继承):是依赖关系的特例
例子(只表示关系,不考虑代码规范):
用UML类图表示:
注意:实线,三角箭头
3.实现关系:就是A类实现B类,也是依赖关系的特例
例子:
(PersonServiceBean实现了接口PersonService)
UML类图实现:
4.关联关系:类于类之间的联系,依赖关系的特例
关联管理具有导航性,即双向关系或单向关系,关系具有多重性,即一对多,或多对一
举例:
UML类图:
两个一对一,连线接口处,都写上1 无论是单向一对一,还是双向一对一
5.聚合关系:整体与部分的关系,整体和部分可以分开,是关联关系的特例,所以它也具有导航性和多重性
例子:电脑与鼠标,键盘的关系
用类图表示:
鼠标和键盘都聚合到电脑上,所以指向电脑,为空心菱形
6.组合关系
以上述鼠标键盘为例:如果键盘鼠标是在电脑类中创建的对象,而不是传入的对象,那么销毁了电脑对象,也会销毁鼠标键盘,所以是共生共灭,属于结合关系
代码改为:
类图表示为:
组合到哪里,就指向哪里,实心菱形
组合和聚合的区别:
组合不可分开,聚合可以分开:
如下图Person和Head是组合,和IDCard是聚合
类图表示: