欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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
  • 生成类图,将类图显示在编辑器窗口中
    IntelliJ IDEA之UML类图

    Show Diagrams PopUp

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

工具栏(Toolbar)

IntelliJ IDEA之UML类图

泛化(Generalization)

  • 代码(体现在类的继承)
//Person代表人
public class Person {

}

//Man代表男人
public class Man extends  Person{
    
}
  • 类图(实线三角形箭头,指向父类)

IntelliJ IDEA之UML类图

实现(Realization)

  • 代码(体现在类的实现)
//Dao接口
public interface Dao {

}
//Dao实现
public class DaoImpl implements  Dao {
    
}
  • 类图(虚线三角形箭头,指向父类)

IntelliJ IDEA之UML类图

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

IntelliJ IDEA之UML类图

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

  • 区别
    三者在代码上的表现相同,只是语意上有所差别。
    组合:整体和部分同生共死,部分无法离开整体单独存在
    聚合:部分可以离开整体单独存在
    关联:代表一种拥有关系
  • 代码(体现在成员变量中)
//父母类
public class Parent {
    
    //可以拥有多个孩子
    public List<Child> children;
    //可以拥有手机
    public CellPhone cellPhone;
}

//孩子类
public class Child {
    
    //孩子的父母
    public Parent parent;
}

//手机类
public class CellPhone {
    
}
  • 类图(三种类型在IntelliJ IDEA均以实线+菱形箭头+普通箭头表示,菱形箭头指向整体,普通箭头指向部分,箭头两端的数字表示实例的个数)

IntelliJ IDEA之UML类图
一个父母可以有多个孩子(1 *),可以有一部手机(1 1)。每个孩子都有一个父母(1 1)

设计模式中-UML相关链接

IntelliJ IDEA官网链接

UML类图几种关系的总结

设计模式中类的关系

看懂UML类图和时序图

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