UML設計入門
首先,看動物矩形框,它代表一個類(Class)。類圖分三層,第一層顯示類的名稱,如果是抽象類,則就用斜體顯示。第二層是類的特性,通常就是欄位和屬性。第三層是類的操作,通常是方法或行為。前面的符號,+ 表示public,- 表示private,# 表示protected。
右下角的飛翔,它表示一個介面圖,與類圖的區別主要是頂端的<<interface>>顯示。第一行是介面名稱,第二行是介面方法。介面還有另一種表示方法,俗稱棒棒糖表示法。唐老鴨是能講人話的鴨子,實現了講人話的介面。
接下來的是類與類,類與介面之間的關係了。首先注意動物、鳥、鴨、唐老鴨之間的關係符號。它們都是繼承的關係,繼承關係用空心三角形 + 實線來表示的。
上述所列舉的幾種鳥中,大雁最能飛,讓它實現了飛翔介面。實現介面用空心三角形 + 虛線來表示。
企鵝和氣候兩個類,企鵝是很特別的鳥,會遊不會飛。更重要的是,它與氣候有很大的關聯。我們不去討論為什麼北極沒有企鵝,為什麼它們要每年長途跋涉。總之,企鵝需要知道氣候的變化,需要了解氣候規律。當一個類知道另一個類時,可以用關聯(association)。關聯關係用實線箭頭來表示。
再來看大雁和雁群這兩個類,大雁是群居動物,每隻大雁都是屬於一個雁群,一個雁群可以有多隻大雁。所以它們之間就滿足聚合(Aggregation)關係。聚合表示一種弱的擁有關係,體現的是A物件可以包含B物件,但B物件不是A物件的一部分。聚合關係用空心的菱形 + 實線箭頭來表示。
組合(Composition)是一種強的擁有關係,體現了嚴格的部分和整體的關係,部分和整體的生命週期一樣。在這裡鳥和其翅膀就是組合關係,因為它們是部分和整體的關係,並且翅膀和鳥的生命週期是相同的。組合關係用實習的菱形 + 實線箭頭來表示。另外,你會注意到合成關係的連線兩端還有一個數字1和數字2,這被稱為基數。表明這一端的類可以有幾個例項,很顯然,一個鳥應該有兩隻翅膀。如果一個類可能有無數個例項,則就是n來表示。關係關係、聚合關係也可以有基數的。
動物的幾大特徵,比如有新陳代謝,能繁殖。而動物要有生命力,需要氧氣、水以及食物等。也就是說,動物依賴於氧氣和水。他們之間是依賴關係(Dependency),用虛線箭頭來表示。
程式設計是一門技術,更是一門藝術,不能只滿足於寫完程式碼後執行結果正確就完整,時常要考慮如何讓程式碼更加簡練,更加容易維護,容易擴充套件和利用,只有這樣才可以真正得到提高。寫出優雅的程式碼真的是一種很爽的事情。UML類圖也不是一學就會的,需要有一個慢慢熟練的過程。所謂學無止境,其實這才是理解物件導向的開始呢。
相關文章
- UML入門
- 【UML入門教程】——Hello,UML!
- 【UML入門教程】——UML關係
- UML 架構圖入門介紹 starUML架構
- 設計模式入門設計模式
- 軟體設計師:UML
- 【UML入門教程】——總結和自我補充
- Shell 程式設計入門程式設計
- shell程式設計入門程式設計
- 設計模式之UML類圖設計模式
- UML:java程式設計師指南Java程式設計師
- UML類圖10分鐘快速入門 - From 聖傑
- 【UML入門教程】——靜態結構(下):類圖
- 【UML入門教程】——構件圖、部署圖、包圖
- 遊戲程式設計入門指南遊戲程式設計
- Number 1 — 程式設計入門程式設計
- Python程式設計入門Python程式設計
- 入門程式碼程式設計程式設計
- csh shell程式設計入門程式設計
- UI 設計小白入門論UI
- TCSHshell程式設計入門(轉)程式設計
- shell程式設計入門指南程式設計
- 使用線上UML製作工具Freedgo Design設計uml例子Go
- 程式設計和網路程式設計入門程式設計
- 設計模式-UML關係基礎設計模式
- Java設計模式(一):設計模式概述、UML圖、設計原則Java設計模式
- 【UML入門教程】——靜態結構(上):用例圖
- 統一建模語言UML輕鬆入門之用例
- 程式設計入門——壘積木學程式設計程式設計
- JAVA NIO程式設計入門(二)Java程式設計
- Flink DataStream 程式設計入門AST程式設計
- 程式設計入門學什麼?程式設計
- JAVA NIO程式設計入門(一)Java程式設計
- JAVA NIO 程式設計入門(三)Java程式設計
- 設計模式入門:原型模式設計模式原型
- java Swing程式設計入門Java程式設計
- Shell程式設計入門例項程式設計
- 入門級的程式設計師程式設計師