UML类图
类图主要描述了类与类之间的关系.这种关系包括依赖,泛化,实现,关联,聚合,组合
如上图,该图就是一个UML类图.
- 车是一个抽象类,而小汽车和自行车继承了车这个抽象类,这种关系叫做实现,用虚线的空心箭头表示
- 小汽车是一个具体的类,而SUV继承了小汽车这个具体类,这种关系叫做泛化,用实线的空心箭头表示
- 学生拥有自行车.这种搞关系叫做依赖.用虚线箭头表示
- 学生类中有学生对应的班级属性,且这个班级属性不在学生类类加载的时候初始化.这种关系叫做聚合,用实线的空心菱形箭头表示
- 小汽车拥有轮胎属性,且轮胎属性在小汽车类加载的时候执行初始化,这种关系叫做组合,用实线的实心菱形箭头表示
- 每个学生都有唯一一张身份证来表示身份,这种关系叫做关联,用实线表示.
类关系介绍
依赖
一个类是另一个类的一部分,则称两个类之间存在依赖关系.依赖关系是一种很宽泛的关系
比如类B为类A的某个属性,类A的某个方法的形参或返回值,类A中的一个变量,则称类A依赖于类B
泛化
泛化是继承关系的一种体现.通常处于泛化关系中的父子类,父类为抽象类,子类为具体类.
实现
实现是继承关系的一种体现.通常处于实现关系中的父子类,父类和子类均为具体类
关联
关联是类与类之间的联系.关联是一种很宽泛的关系
如单向一对一(你中有我,我中没你),双向一对一(你中有我,我中有你)
聚合
聚合表示整体与部分的关系,是关联关系的特例.整体与部分之间是可以分开的(聚合在类A中的类B不需要再类A加载的时候就初始化,而是可以通过在运行的时候通过setter等方法初始化)
组合
组合和聚合的区别在于聚合在类A中的类B需要在类A加载的时候进行初始化
IDEA中关于UML类图的使用
在IDEA中根据代码自动生成UML类图
在IDEA中通过已有代码自动生成UML类图的功能是默认具有的,不需要安装其他任何的插件
-
点开IDEA中的设置(settings)
-
在设置中找到工具(Tools)下的图(Diagram)并在其中勾选Java类下的所有字段
-
右键想要生成UML类图的类,点击显示图(show diagram)即可得到想要的UML类图
在IDEA中设计UML类图
IDEA中默认没有设计UML类图的功能,所以需要安装PlantUML插件.
-
在IDEA中的设置(settings)下的插件(plugin)中下载PlantUML插件
-
在项目目录下右键新建一个PlantUML file
-
类图生成后即可通过设计伪代码的操作来设计类图,PlantUML的使用请参考PlantUML的使用