IntelliJ IDEA之UML類圖

IntelliJ IDEA之UML類圖

生成方法

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)

代碼(體如今局部變量、方法的參數或者對靜態方法的調用)html

//手機類
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)java

設計模式中-UML相關連接

IntelliJ IDEA官網連接設計模式

UML類圖幾種關係的總結編輯器

設計模式中類的關係ide

看懂UML類圖和時序圖工具

java_UML:繼承/泛化、實現、依賴、關聯、聚合、組合的聯繫與區別 (2016-07-12)idea

相關文章
相關標籤/搜索