在IDEA中,主要有如下幾個符號:java
下面我會列出他們的意思和他們變形後的意思。在最後面,我會放出一張IDEA中生成的類圖並解釋,幫助理解這些內容。:表示類中的普通方法設計模式
:表示抽象方法函數
:表示類中的主函數main()方法spa
:表示已經實現了getXxx()或setXxx()的方法設計
:表示內部類3d
:表示類中的屬性blog
:表示公有的類或方法接口
:表示私有的類或方法圖片
:表示接口類rem
:表示抽象類
:表示普通類
:關聯,聚合,組合三種都以這種形式表現出來。實線+菱形箭頭+普通箭頭表示,菱形箭頭指向總體,普通箭頭指向部分,箭頭兩端的數字表示實例的個數
:依賴。虛線普通箭頭,指向被調用者,其中帶有create的虛線是指建立(new)被調用者
:實現。綠色虛線三角形箭頭,指向父類。
:泛化。藍色實線三角形箭頭,指向父類
一張完整的類圖:在這張圖中,一共有七個類。分別是一個接口類(Brand),一個抽象類(Phone),和五個普通類(XiaoMi, HuaWei, FolderPhone, UpRightPhone, Client)。這張圖表示的是java設計模式中的一種(橋接模式)。在接口類(Brand)中有手機的三個功能,XiaoMi和HuaWei這兩個類是它的實現。抽象類(Phone)也有兩個泛化(FolderPhone和UpRightPhone)。而且將Brand類聚合到了Phone類中。這樣的設計將手機品牌和他們的特徵(摺疊手機,和上滑手機)分開,能夠直接在Client中任意組合,當有新特性或新手機時,只須要添加響應的類就能夠了。若是不這樣設計,有新特性或新手機時,就會增長不少具體的類(好比:三星摺疊手機,三星上滑手機),可能會發生類爆炸之類的麻煩事