UML是一种很重要的分析源码工具,接下来演示如何通过IDEA将现有类生成UML图

接下来可以对需要的文件点击右键->Diagrams,选择show Diagrams

idea java类生成表 idea如何生成类图_idea java类生成表

如果感觉显示的内容较少,也可以对当前图片点击【右键】-【show Categories】增加显示的内容


接下来我们一起来科普一下UML中的类图

什么是类图?
【概念】 类图是一切面向对象方法的核心建模工具。类图描述了系统中对象的类型以及它们之间存在的各种静态关系。
【目的】用来表示类、接口以及它们之间的静态结构和关系。

在类图中,常见的有以下几种关系

  • 泛化(Generalization)
  • 【泛化关系】是一种继承关系,表示子类继承父类的所有特征和行为。
  • 【箭头指向】带三角箭头的实线,箭头指向父类。
  • idea java类生成表 idea如何生成类图_类图_02

  • 实现(Realization)
  • 【实现关系】是一种类与接口的关系,表示类是接口所有特征和行为的实现。
  • 【箭头指向】带三角箭头的虚线,箭头指向接口。
  • idea java类生成表 idea如何生成类图_类图_03

  • 关联(Association)
  • 【关联关系】是一种拥有关系,它使得一个类知道另一个类的属性和方法。
  • 【代码体现】成员变量
  • 【箭头指向】带普通箭头的实线,指向被拥有者。双向的关联可以有两个箭头,或者没有箭头。单向的关联有一个箭头。
  • idea java类生成表 idea如何生成类图_关联关系_04

  • 聚合(Aggregation)
  • 【聚合关系】是一种整体与部分的关系。且部分可以离开整体而单独存在。聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。
  • 【代码体现】成员变量
  • 【箭头指向】带空心菱形的实线,空心菱形指向整体。
  • idea java类生成表 idea如何生成类图_类图_05

  • 组合(Composition)
  • 【组合关系】是一种整体与部分的关系。但部分不能离开整体而单独存在,组合关系是关联关系的一种,是比聚合关系还要强的关系。
  • 【代码体现】成员变量
  • 【箭头指向】带实心菱形和普通箭头的实线,实心菱形指向整体。
  • idea java类生成表 idea如何生成类图_实线_06

  • 依赖(Dependency)
  • 【依赖关系】是一种使用关系,即一个类的实现需要另一个类的协助。
  • 【箭头指向】带普通箭头的虚线,普通箭头指向被使用者。
  • idea java类生成表 idea如何生成类图_idea java类生成表_07