UML(Unidied Modeling Language)统一建模语言:用来设计软件的可视化建模语言,能够表达软件设计中的动态与静态信息。UML定义了用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图等9种图。

# IDEA 展示类图及类图关系

【1】选中.java或者编辑的.java文件内部,右键选择Diagrams->show Diagrams...随后选择弹出的Java Class Diagrams

UML

【2】如下就是当前类的UML关系图

UML

类与类一共有如下几种关系:泛化Generalization、实现Realization、依赖Dependence、关联Association、聚合Aggregation、组合Composition
泛化Generalization 也叫作继承关系,在UML中我们用带空心三角形的直线来表示,对应IDEA中的蓝色线和蓝色三角;
实现RealizationJava中类与接口的实现关系,在UML中我们用带空心三角形的虚线表示,对应IDEA中的绿色虚线和绿色三角;
依赖Dependence 指一个类使用另一个类,这种依赖关系我们用带箭头的虚线表示;

public class ServiceImpl<M extends BaseMapper<T>, T> implements IService<T> {

    protected M baseMapper;

    public boolean save(T entity) {
        return this.retBool(this.baseMapper.insert(entity));
    }

1
2
3
4
5
6
7
8

关联Association 关联关系是一种比较强的关系,他们的关系是比较持久的,稳定的。关联分单向关联和双向关联,如果一个类知道或者引用了另一个类,而另一个类不知道或者没有引用这个类,则这两个类是单向关联的。单向关联我们用带箭头的实线表示,箭头指向被引用或者被包含的类。双向关联是两个类彼此都知道对方的存在,双向关联用不带箭头的实线来连接两个类;
聚合Aggregation 聚合关系是一种特殊的关联关系,聚合关系强调的是整体和部分的关系,其中部分可以脱离整体而存在。在UML类图中聚合用带空心菱形的直线表示,其中菱形指向整体;

public class A{     
    public B b;        
    public A(B b){
        this.b = b;     
    }  
} 
1
2
3
4
5
6

组合Composition 组合关系也是一种特殊的关联关系,它与聚合关系很像,也是强调整体与部分的关系,不同的是部分无法脱离整体存在。用带实心的菱形直线表示,其中菱形指向整体;

public class A{     
    public B b;        
    public A(){
        // ...
        this.b = NEW B();  
        // ...   
    }  
} 
1
2
3
4
5
6
7
8

【3】可以选择类右键后选择Show Categories展示类图的详细信息

UML

【4】当方法太多时,可以右键选择Change Visibility Level进行筛选

UML

【5】查看具体代码,选择类图之后右键Jump to Source

UML

【6】可以通过Add Class to Diagram添加类,也可以选择类图后,通过Delete键删除类图。

#

(adsbygoogle = window.adsbygoogle || []).push({});