什么是UML类图
UML类图即是一种表现类与类之间关系的一种示意图,由于java是一种面向对象的语言,且万物皆对象,因此对象与对象之间,类与类之间,总是存在的某种不清不楚,不明不白的联系,类图就是一种可以让我们一眼看清这种复杂联系的简单示意图(其实一点都不简单~~~),然而面对复杂的各种符号,可能很多人摸不着头脑,比如下面一张图,很生动的表示了一些类之间的关系,可能第一次看会有点一脸懵逼,似懂非懂的感觉,然而看完本篇的讲解,再回过头来看这张图,肯定会有一目了然的感觉。
单个类的符号含义
-表示private
#表示protected
~表示default,也就是包权限
_下划线表示static
斜体表示抽象
如果是接口则使用<< interface >>来标注
类与类之间的关系
一般的关系由被拥有者指向拥有者。
- 继承与实现
这一组指向由三角箭头表示,继承一般子类可以拥有父类方法,相对属于比较实的关系,而实现本身是无法获得接口方法的,属于比较虚的关系,因此继承是实线,实现是虚线。
- 聚合和组合
这一组是由菱形箭头表示,但组合是必须拥有相同的生命周期,类似于身体不同器官,一荣俱荣,一损俱损,不可单独存在,属于比较实的关系,而聚合则没有相同工作周期,比如公交车司机和工作服,属于比较虚的关系,因此组合是实心,聚合是空心。
- 关联和依赖
这一对是由箭头表示,关联更像是一种拥有,比如一个类里面拥有的属性包含另一个类,属于比较实的关系,而依赖更像临时借用,比如set进去一个属性,属于比较虚的关系,因此关联是实线,依赖是虚线。
UML类图总结
UML类图就是通过图形展示类之间的关系,了解了类的符号含义和类之间的符号含义之后,再来看开头的类图是不是就一目了然了呢?
可以类比下面的图片进行进一步理解。