• IntelliJ IDEA之UML类图


    IntelliJ IDEA之UML类图

    生成方法

    Show Diagrams

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

    Show Diagrams PopUp

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

    工具栏(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)

    设计模式中-UML相关链接

    IntelliJ IDEA官网链接

    UML类图几种关系的总结

    设计模式中类的关系

    看懂UML类图和时序图

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

    作者:LDZZDL

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

  • 相关阅读:
    Linux 文件隐藏属性-创建文件默认权限
    Linux 文件权限管理
    Linux 用户管理_用户相关配置文件详解
    Linux 压缩包管理
    vim 编辑器高级用法
    Linux ll查看文件属性详解-软硬链接详解
    安卓学习28
    安卓学习27
    安卓学习26
    安卓学习25
  • 原文地址:https://www.cnblogs.com/LDZZDL/p/9061603.html
Copyright © 2020-2023  润新知