IntelliJ IDEA之UML类图
程序员文章站
2022-12-08 12:53:37
IntelliJ IDEA之UML类图 生成方法 Show Diagrams 选中需要的类,右键单击 ,之后点击 ,或者快捷键 生成类图,将类图显示在编辑器窗口中 Show Diagrams PopUp 选中所需要类,右键单击 ,之后点击 ,或者快捷键 生成类图,将类图显示在弹出窗口中 工具栏(To ......
IntelliJ IDEA之UML类图
生成方法
Show Diagrams
- 选中需要的类,右键单击
Diagrams
,之后点击Show Diagrams
,或者快捷键Ctrl+Alt+Shift+U
-
生成类图,将类图显示在编辑器窗口中
Show Diagrams PopUp
- 选中所需要类,右键单击
Diagrams
,之后点击Show Diagrams PopUp
,或者快捷键Ctrl+Alt+U
生成类图,将类图显示在弹出窗口中
工具栏(Toolbar)
泛化(Generalization)
- 代码(体现在类的继承)
//Person代表人 public class Person { } //Man代表男人 public class Man extends Person{ }
- 类图(实线三角形箭头,指向父类)
实现(Realization)
- 代码(体现在类的实现)
//Dao接口 public interface Dao { } //Dao实现 public class DaoImpl implements Dao { }
- 类图(虚线三角形箭头,指向父类)
依赖(Dependency)
代码(体现在局部变量、方法的参数或者对静态方法的调用)
//手机类 public class CellPhone { //手机可以玩游戏 public void playGames(){ System.out.println("play games"); } } //普通人 public class Person { //买手机 public CellPhone buyCellPhone(){ return new CellPhone(); } //买个手机玩游戏 public void play(){ CellPhone cellPhone = buyCellPhone(); cellPhone.playGames(); } }
- 类图(虚线普通箭头,指向被调用者,其中带有create的虚线是指创建(new)被调用者)
关联(Association)、聚合(Aggregation)、组合(Composition)
- 区别
三者在代码上的表现相同,只是语意上有所差别。
组合:整体和部分同生共死,部分无法离开整体单独存在
聚合:部分可以离开整体单独存在
关联:代表一种拥有关系
- 代码(体现在成员变量中)
//父母类 public class Parent { //可以拥有多个孩子 public List<Child> children; //可以拥有手机 public CellPhone cellPhone; } //孩子类 public class Child { //孩子的父母 public Parent parent; } //手机类 public class CellPhone { }
- 类图(三种类型在IntelliJ IDEA均以实线+菱形箭头+普通箭头表示,菱形箭头指向整体,普通箭头指向部分,箭头两端的数字表示实例的个数)
一个父母可以有多个孩子(1 *),可以有一部手机(1 1)。每个孩子都有一个父母(1 1)