IntelliJ IDEA之UML類圖 生成方法 Show Diagrams 選中需要的類,右鍵單擊 ,之後點擊 ,或者快捷鍵 生成類圖,將類圖顯示在編輯器視窗中 Show Diagrams PopUp 選中所需要類,右鍵單擊 ,之後點擊 ,或者快捷鍵 生成類圖,將類圖顯示在彈出視窗中 工具欄(To ...
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相關鏈接
java_UML:繼承/泛化、實現、依賴、關聯、聚合、組合的聯繫與區別 (2016-07-12)