文章目錄
簡單記錄
UML類圖 UML基本介紹1、UML—— Unified modeling language UML (統一建模語言),是一種用于軟件系統 分析和設計的語言工具,它用于幫助軟件開發人員進行思考和記錄思路的結果。 2、UML本身是一套符號的規定,就像數學符號和化學符號一樣,這些符號用于描 述軟件模型中的各個元素和他們之間的 關系,比如類、接口、實現、泛化、依賴、組合、聚合等,如圖:
UML是一種語言,用來建模的 跟傳統的編程語言不一樣 它是用一些符號來表示的 用符號來描述一些設計思想 一種用于軟件系統分析和設計的語言工具 圖形描述 幫助我們進行思考和記錄的結果 工具 Rational Rose 畫各種類 插件 AmaterasUML 統一建模語言,可以畫各種圖形,圖形可以幫助我們去軟件系統設計和分析理解。 UML圖UML圖 畫UML圖與寫文章差不多,都是把自己的思想描述給別人看,關鍵在于思路和條理。 UML圖分類:
說明: 熟悉地掌握了UML,就好像學會了寫字,在現實生活中,會寫字不見得會寫出好文章。僅僅會寫,學會了UML并不一定就分析設計出好的軟件系統,靈活的使用. UML類圖UML類圖用于描述系統中的類(對象)本身的組成和類(對象)之間的各種靜態關系。 描述類和類之間的關系 類之間的關系:依賴、泛化(繼承)、實現、關聯、聚合與組合
類圖怎么畫呢? 代碼形式 --> 類圖 類名 屬性 方法 類和類之間到底是什么關系?怎么畫?這是一個問題. 類圖—依賴關系(Dependence)? 只要是在類中用到了對方,那么他們之間就存在依賴關系。如果沒有對方,連編繹都通過不了。
小結 依賴關系 A類用到了B類 ,A依賴于B, 沒有B,A編譯也通過不了 類圖—泛化關系(generalization)泛化關系實際上就是繼承關系,他是依賴關系的特例。
A類繼承了B類,泛化關系就是繼承關系 , A類繼承了B類也相當于A類用到了B類, 泛化關系是依賴關系的特例。 類圖—實現關系(Implementation)實現關系實際上就是A類實現B接口,他是依賴關系的特例.
PersonServiceBean實現了PersonService這個接口 實現關系 人與人之間存在關系 但是否存在父子關系什么的 這是特例了 實現關系是依賴關系的特例 ,依賴關系更強 。 =>類圖 小結???? 被一個類實現了 ,A類實現B接口 實現關系 類圖—關聯關系(Association)關聯關系實際上就是類與類之間的聯系,他是依賴關系的特例 單向一對一關系 public class IDCard{} 一個人一個身份證號 一對一 單向的 一對一 雙向一對一關系 public class Person { } 雙向一對一關系 一個人一個身份證號 一對一 一個身份證號也對應一個人 關聯關系實際上就是類與類之間的聯系,是依賴關系的特例。 導航性??雙向 單向 多重性??一對一,一對多,多對多 類圖—聚合關系(Aggregation)聚合關系(Aggregation)表示的是整體和部分的關系,整體與部分可以分開。聚
computer monitor mouse 計算機包含鼠標、顯示器 能不能分開 如果關系是可以分開的,是聚合關系 如果關系是不可以分開的,是組合關系 鼠標是可以分離的,可以插上也可以不插上,電腦沒有鼠標還是一個電腦 顯示器可以分開 鼠標這個類 顯示器這個類 與電腦這個類 他們構成聚合關系 對應類圖 小結: 聚合關系表示整體與部分關系,整體與部分可以分開,聚合關系是關聯關系的特例,導航性 多重性 誰聚合誰的 A聚合一個B 單聚合 A里面可以聚合多個B 多重聚合 如果我們人Mouse,Monitor和Computer是不可分離的,則升級為組合關系
類圖—組合關系(Composition)組合關系:也是整體與部分的關系,但是整體與部分不可以分開。 人不能沒有頭 可以沒有手、腳,沒頭會死的。 一個人沒有身份證,不會死的,可以去補辦身份證 Head和Person就是組合, IDCard和Person就是聚合 但是如果在程序中Person實體中定義了對IDCard進行級聯刪除,即刪除Person時連同IDCard一起刪除,那么IDCard 和 Person 就是組合了. public class Person{ private IDCard card; 級聯刪除,一起刪了,組合。 關聯關系 一個類 成員變量 成員屬性 用到另一個類 構成關聯關系 聚合關系 整體和部分的關系 你是我的一個什么屬性 可以分開 聚合關系 不能分開 組合關系 小結依賴關系 只要是在類中用到了對方,那么他們之間就存在依賴關系 類中用到了對方 如果是類的成員屬性 如果是方法的返回類型 是方法接收的參數類型 方法中使用到 虛線 箭頭 用到了 泛化關系 泛化關系實際上就是繼承關系,他是依賴關系的特例。 如果A類繼承了B類,我們就說A和B存在泛化關系 空心三角形 實線 實現關系 實現關系實際上就是A類實現B接口,他是依賴關系的特例. 空心的三角形 虛線 關聯關系 類與類之間的關系,他是依賴關系的特例. 導航性 多重性 單向一對一 雙向一對一 你用到我 我用到你 聚合關系 聚合關系表示的是整體和部分的關系,整體與部分可以分開. 聚合關系是關聯關系的特例,所以他具有關聯的導航性與多重性. Person Head Person IDCard 組合 聚合 菱形實心空心 創建 刪除 級聯的 組合關系 類圖 關系 不同表示 畫 依賴 泛化 實現 關聯 聚合 組合 方法陸游和賣油翁 陸游的忠告 《冬夜讀書示子聿》 漸若窺宏大 工夫在詩外 紙上得來終覺淺,絕知此事要躬行 賣油翁 賣油翁 我亦無他,惟手熟爾。 書到用時方恨少,事非經過不知難。 知 行 參考資料1、圖解Java設計模式-尚硅谷_韓順平 |
|