IntelliJ IDEA之UML类图

IntelliJ IDEA之UML类图

生成方法

Show Diagrams

  • 选中须要的类,右键单击Diagrams,以后点击Show Diagrams,或者快捷键Ctrl+Alt+Shift+U
  • 生成类图,将类图显示在编辑器窗口中
    Show Diagramshtml

    Show Diagrams PopUp

  • 选中所须要类,右键单击Diagrams,以后点击Show Diagrams PopUp,或者快捷键Ctrl+Alt+U
  • 生成类图,将类图显示在弹出窗口中
    Show Diagrams PopUpjava

工具栏(Toolbar)

Toolbar

泛化(Generalization)

  • 代码(体如今类的继承)
//Person表明人 public class Person { } //Man表明男人 public class Man extends Person{ }
  • 类图(实线三角形箭头,指向父类)

Generalization

实现(Realization)

  • 代码(体如今类的实现)
//Dao接口 public interface Dao { } //Dao实现 public class DaoImpl implements Dao { } 
  • 类图(虚线三角形箭头,指向父类)

Realization

依赖(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)被调用者)

Dependency

关联(Association)、聚合(Aggregation)、组合(Composition)

  • 区别
    三者在代码上的表现相同,只是语意上有所差异。
    组合:总体和部分同生共死,部分没法离开总体单独存在
    聚合:部分能够离开总体单独存在
    关联:表明一种拥有关系
  • 代码(体如今成员变量中)
//父母类 public class Parent { //能够拥有多个孩子 public List<Child> children; //能够拥有手机 public CellPhone cellPhone; } //孩子类 public class Child { //孩子的父母 public Parent parent; } //手机类 public class CellPhone { }
  • 类图(三种类型在IntelliJ IDEA均以实线+菱形箭头+普通箭头表示,菱形箭头指向总体,普通箭头指向部分,箭头两端的数字表示实例的个数)

Associate
一个父母能够有多个孩子(1 *),能够有一部手机(1 1)。每一个孩子都有一个父母(1 1)markdown

设计模式中-UML相关连接

IntelliJ IDEA官网连接intellij-idea

UML类图几种关系的总结编辑器

设计模式中类的关系ide

看懂UML类图和时序图工具

java_UML:继承/泛化、实现、依赖、关联、聚合、组合的联系与区别 (2016-07-12)post

做者: LDZZDL

本文版权归做者和博客园共有,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利。idea

相关文章
相关标签/搜索