UML,統一建模語言「
Unified Modeling Language
」蛛蒙,是非專利的第三代建模和規(guī)約語言糙箍。UML是一種開放的方法,用于說明牵祟、可視化深夯、構建和編寫一個正在開發(fā)的、面向對象的诺苹、軟件密集系統的制品的開放方法咕晋。UML展現了一系列最佳工程實踐,這些最佳實踐在對大規(guī)模收奔,復雜系統進行建模方面掌呜,特別是在軟件架構層次已經被驗證有效∑汉澹【維基百科】
最近再看設計模式以及一些文章時會發(fā)現有很多uml類圖质蕉,都是選擇性的大體看一下,基本上都是一知半解翩肌,為了更深層次的理解模暗,便想主動學習一下UML類圖的相關知識。
整體結構圖如下圖所示:
類
如上所示念祭,
動物
矩形框代表著一個類「Class
」兑宇。類圖分為三層。第一層顯示類的名稱粱坤,如果是抽象類隶糕,就用斜體顯示瓷产。第二層是類的特性,通常就是字段和屬性枚驻。第三層是類的操作濒旦,通常是方法和行為。注意前面的符號测秸,+
表示 public
疤估,-
表示private
,#
號表示protect
霎冯。
接口
上圖表示一個接口圖铃拇,它與類圖的區(qū)別主要是頂端有
<<interface>>
顯示,第一行是接口的名稱沈撞,第二行是方法慷荔。
接口還有另一種表示方法,俗稱「
棒棒糖表示法
」缠俺,比如圖中的唐老鴨類就是實現了講人話
的接口显晶。
繼承(generalization)關系
標準稱之為:泛化「generalization
」關系
動物和鳥、鳥和大雁壹士、鴨和唐老鴨都是屬于繼承關系磷雇,繼承關系用
空心三角形+實線
來表示。
實現(realize)關系
大雁實現了飛翔接口躏救,實現接口用空心三角形+虛線
來表示唯笙。
關聯(association)關系
企鵝是特別的鳥,會游泳但不會飛盒使。更重要的是崩掘,它與氣候有很大的關系,企鵝需要
知道
氣候的變化少办,需要了解
氣候規(guī)律苞慢,來進行長途跋涉的遷移活動。當一個類
知道
另一個類時英妓,可以用關聯(association)
挽放,關聯關系用實線箭頭
來表示。
聚合(Aggregtion)關系
聚合表示一種弱擁有關系
蔓纠,體現的是A對象可以包含B對象骂维,但B對象不是A對象的一部分
聚合關系用空心的菱形+實線箭頭
來表示
合成(Composition)關系
合成(Composition
或者「組合」)是一種強的擁有
關系,體現了嚴格的部分和整體的關系贺纲,部分和整體的生命周期一樣
如上圖,鳥和翅膀就是合成(組合)關系褪测,因為它們是整體和部分的關系猴誊,并且翅膀和鳥的生命周期是相同的潦刃。同時在合成關系連線的兩端還有一個數字1
和數字2
,這被稱為基數懈叹。表明這一端的類可以有幾個實例乖杠,很顯然一個鳥應該有兩只翅膀。如果一個類可能有無數個實例澄成,則就用n
來表示胧洒,關聯關系、聚合關系都是可以有基數的墨状。
合成關系用實心的菱形+實線箭頭
來表示卫漫。
依賴關系
上圖所示,動物如果要有生命力肾砂,需要氧氣列赎、水、食物等镐确。也就是說包吝,動物依賴于氧氣和水。他們之間是依賴關系(
Dependency
)源葫。依賴關系用
虛線箭頭
來表示诗越。