idea生成uml类图_IntelliJ IDEA之UML类图

IntelliJ IDEA之UML类图

生成方法

Show Diagrams

选中需要的类,右键单击Diagrams,之后点击Show Diagrams,或者快捷键Ctrl+Alt+Shift+U

生成类图,将类图显示在编辑器窗口中

3de2ffdd41beb15a5798c45c976ca502.png

Show Diagrams PopUp

选中所需要类,右键单击Diagrams,之后点击Show Diagrams PopUp,或者快捷键Ctrl+Alt+U

生成类图,将类图显示在弹出窗口中

3c08a48e642be5ee53569cdd599d274f.png

工具栏(Toolbar)

c372aee0a5c559078ca48c6099265b84.png

泛化(Generalization)

代码(体现在类的继承)

//Person代表人

public class Person {

}

//Man代表男人

public class Man extends Person{

}

类图(实线三角形箭头,指向父类)

82d0a94bdd318e8cfaf453e97c2a48a3.png

实现(Realization)

代码(体现在类的实现)

//Dao接口

public interface Dao {

}

//Dao实现

public class DaoImpl implements Dao {

}

类图(虚线三角形箭头,指向父类)

b1698843de243883dedb225b60a406a3.png

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

c08429e50cdfa6626b07668681aea460.png

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

区别

三者在代码上的表现相同,只是语意上有所差别。

组合:整体和部分同生共死,部分无法离开整体单独存在

聚合:部分可以离开整体单独存在

关联:代表一种拥有关系

代码(体现在成员变量中)

//父母类

public class Parent {

//可以拥有多个孩子

public List children;

//可以拥有手机

public CellPhone cellPhone;

}

//孩子类

public class Child {

//孩子的父母

public Parent parent;

}

//手机类

public class CellPhone {

}

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

6a180d165fecd2c702e14b03b15f10d6.png

一个父母可以有多个孩子(1 *),可以有一部手机(1 1)。每个孩子都有一个父母(1 1)

设计模式中-UML相关链接

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值