天天看點

UML類圖學習設計模式                                              UML類圖學習設計模式

                                              UML類圖學習設計模式

一基本概念

虛線箭頭指向依賴;

實線箭頭指向關聯;

虛線三角指向接口;

實線三角指向父類;

空心菱形能分離而獨立存在,是聚合;

實心菱形精密關聯不可分,是組合;

二圖解

UML類圖學習設計模式                                              UML類圖學習設計模式

    類:動物的矩形代表一個類,類圖分三層 第一層類名,抽象類用斜體表示;第二層類的特性及字段和屬性;第三層類的操作方法或行為。前邊的符号 +為public   -private   #protected;

    接口:“飛翔”是一個接口圖,與類的差別是頂端有個<<interface>>;第一層接口名稱,第二層接口方法;

     繼承關系:空心三角形+實線     箭頭指向父類;子類繼承父類     表示一般與特殊的關系    即大雁繼承鳥

     實作關系:空心三角形+虛線     類實作接口   即大雁實作飛翔,表示類是接口所有方法的實作

     組合關系:實心菱形+實線箭頭表示    菱形指向整體

UML類圖學習設計模式                                              UML類圖學習設計模式

              組合是一種強的擁有關系,展現了嚴格的部分與整體的關系,部分和整體的生命周期是一樣的,但部分不能離開整體單獨存在,如公司和部門是整體和部分的關系,沒有公司就不存在部門,組合關系是比聚合關系還要強的一種,他要求代表整體的對象負責代表部分的對象的生命周期;

              代碼展現:成員變量

      聚合關系:空心菱形+實作箭頭   菱形指向整體   ;  部分和整體的關系  部分可以離開整體單獨存在,車和輪胎整體與部分   輪胎可以離開車單獨存在,聚合關系是關聯關系的一種,是強的關聯關系;關聯和聚合在文法上無法區分,需要考慮具體的邏輯關系。

               代碼展現:成員變量

      關聯關系:普通箭頭的實線,指向被擁有者;是一種擁有的關系,他使一個類知道另一個類的屬性和方法,如老師學生  丈夫與妻子,關聯可以是雙向的也可以是單向的,雙向關聯可以有兩個箭頭也可以沒有箭頭,單向關聯隻能有一個箭頭;          

                代碼展現:成員變量

     依賴關系:帶箭頭的虛線 指向被使用者;是一種使用的關系,即一個類的實作需要另一個類的協助,是以要盡量不使用雙向的互相依賴。

                代碼展現:局部變量,方法的參數或者對靜态方法的調用;