UML類圖新手入門級介紹

 

       舉一個簡單的例子,來看這樣一副圖,其中就包括了UML類圖中的基本圖示法。

 

首先,看動物矩形框,它代表一個類(Class)。類圖分三層,第一層顯示類的名稱,如果是抽象類,則就用斜體顯示。第二層是類的特性,通常就是字段和屬性。第三層是類的操作,通常是方法或行爲。前面的符號,+ 表示public- 表示private# 表示protected

右下角的飛翔,它表示一個接口圖,與類圖的區別主要是頂端的<<interface>>顯示。第一行是接口名稱,第二行是接口方法。接口還有另一種表示方法,俗稱棒棒糖表示法。唐老鴨是能講人話的鴨子,實現了講人話的接口。

接下來的是類與類,類與接口之間的關係了。首先注意動物、鳥、鴨、唐老鴨之間的關係符號。它們都是繼承的關係,繼承關係用空心三角形 + 實線來表示的。

       上述所列舉的幾種鳥中,大雁最能飛,讓它實現了飛翔接口。實現接口用空心三角形 + 虛線來表示。

 

       企鵝和氣候兩個類,企鵝是很特別的鳥,會遊不會飛。更重要的是,它與氣候有很大的關聯。我們不去討論爲什麼北極沒有企鵝,爲什麼它們要每年長途跋涉。總之,企鵝需要知道氣候的變化,需要了解氣候規律。當一個類知道另一個類時,可以用關聯(association)。關聯關係用實線箭頭來表示。

       再來看大雁和雁羣這兩個類,大雁是羣居動物,每隻大雁都是屬於一個雁羣,一個雁羣可以有多隻大雁。所以它們之間就滿足聚合(Aggregation)關係。聚合表示一種弱的擁有關係,體現的是A對象可以包含B對象,但B對象不是A對象的一部分。聚合關係用空心的菱形 + 實線箭頭來表示。

       組合(Composition)是一種強的擁有關係,體現了嚴格的部分和整體的關係,部分和整體的生命週期一樣。在這裏鳥和其翅膀就是組合關係,因爲它們是部分和整體的關係,並且翅膀和鳥的生命週期是相同的。組合關係用實習的菱形 + 實線箭頭來表示。另外,你會注意到合成關係的連線兩端還有一個數字1和數字2,這被稱爲基數。表明這一端的類可以有幾個實例,很顯然,一個鳥應該有兩隻翅膀。如果一個類可能有無數個實例,則就是n來表示。關係關係、聚合關係也可以有基數的。

       動物的幾大特徵,比如有新陳代謝,能繁殖。而動物要有生命力,需要氧氣、水以及食物等。也就是說,動物依賴於氧氣和水。他們之間是依賴關係(Dependency),用虛線箭頭來表示。

編程是一門技術,更是一門藝術,不能只滿足於寫完代碼後運行結果正確就完整,時常要考慮如何讓代碼更加簡練,更加容易維護,容易擴展和利用,只有這樣纔可以真正得到提高。寫出優雅的代碼真的是一種很爽的事情。UML類圖也不是一學就會的,需要有一個慢慢熟練的過程。所謂學無止境,其實這纔是理解面向對象的開始呢。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章