IntelliJIDEA之UML类图
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IntelliJIDEA之UML类图IntelliJ IDEA之UML类图
⽣成⽅法
Show Diagrams
选中需要的类,右键单击Diagrams,之后点击Show Diagrams,或者快捷键Ctrl+Alt+Shift+U
⽣成类图,将类图显⽰在编辑器窗⼝中
Show Diagrams PopUp
选中所需要类,右键单击Diagrams,之后点击Show Diagrams PopUp,或者快捷键Ctrl+Alt+U ⽣成类图,将类图显⽰在弹出窗⼝中
⼯具栏(Toolbar)
泛化(Generalization)
代码(体现在类的继承)
//Person代表⼈
public class Person {
}
//Man代表男⼈
public class Man extends Person{
}
类图(实线三⾓形箭头,指向⽗类)
实现(Realization)
代码(体现在类的实现)
//Dao接⼝
public interface Dao {
}
//Dao实现
public class DaoImpl implements Dao {
}
类图(虚线三⾓形箭头,指向⽗类)
依赖(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)被调⽤者)
关联(Association)、聚合(Aggregation)、组合(Composition)
区别
三者在代码上的表现相同,只是语意上有所差别。
组合:整体和部分同⽣共死,部分⽆法离开整体单独存在
聚合:部分可以离开整体单独存在
关联:代表⼀种拥有关系
代码(体现在成员变量中)
//⽗母类
public class Parent {
//可以拥有多个孩⼦
public List<Child> children;
//可以拥有⼿机
public CellPhone cellPhone;
}
//孩⼦类
public class Child {
//孩⼦的⽗母
public Parent parent;
}
//⼿机类
public class CellPhone {
}
类图(三种类型在IntelliJ IDEA均以实线+菱形箭头+普通箭头表⽰,菱形箭头指向整体,普通箭头指向部分,箭头两端的数字表⽰实例的个数)
⼀个⽗母可以有多个孩⼦(1 *),可以有⼀部⼿机(1 1)。
每个孩⼦都有⼀个⽗母(1 1)
设计模式中-UML相关链接。