IntelliJ IDEA 的UML类图 解析,官方图标解析

Icons list | IntelliJ Platform UI Guidelines

 propertyReadStatic

 propertyReadWrite

 propertyReadWriteStatic

 propertyWrite

 

 

访问修饰符:

1、public,一把绿色的开启状态的小锁,

2、protected,一把灰色的钥匙,

3、default,一个灰色的圆环,

4、private,一把橙色的关闭状态的小锁,

final修饰符:

final用一个小图钉表示,如图表示一个final方法,

static修饰符:

static用一个旋转了45度角的空心正方形表示,如图表示一个静态属性

abstract修饰符。

abstract修饰的类或方法,其图标会在原有的图标上左右各切除一部分,背景为灰色。如下图所示:

抽象类:

抽象方法:

在IDEA中,主要有以下几个符号:

在这里插入图片描述
下面我会列出他们的意思和他们变形后的意思。在最后面,我会放出一张IDEA中生成的类图并解释,帮助理解这些内容。
在这里插入图片描述:表示类中的普通方法 

在这里插入图片描述:表示类中的构造方法

在这里插入图片描述:表示已经实现了getXxx()或setXxx()的方法

在这里插入图片描述:表示内部类

在这里插入图片描述:表示类中的属性

在这里插入图片描述:表示公有的类或方法

 在这里插入图片描述:表示私有的类或方法

在这里插入图片描述:表示接口类 

在这里插入图片描述:表示普通类

在这里插入图片描述:关联,聚合,组合三种都以这种形式表现出来。实线+菱形箭头+普通箭头表示,菱形箭头指向整体,普通箭头指向部分,箭头两端的数字表示实例的个数

在这里插入图片描述:依赖。虚线普通箭头,指向被调用者,其中带有create的虚线是指创建(new)被调用者

在这里插入图片描述:实现。绿色虚线三角形箭头,指向父类。

在这里插入图片描述:泛化。蓝色实线三角形箭头,指向父类
 

生成方法 举例:

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)

  • 3
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值