UML中的類圖

來源:互聯網
上載者:User

類圖(class diagram)是UML中使用最多的一種圖。

一個類,它遠看是矩形,近看也是一個矩形,只不過有時候是一個矩形,有時候是2-3個矩形的集合。

一個類,通常會有一些屬性和方法,用類圖表示如下:

這個類圖,由三個矩形組成,由上而下分別是類名,屬性、方法。前面的 (“+”)號表示公開屬性或方法(Public),("-")號表示私人的屬性或方法(Private),而("#")號表示保護(Protected)。

當然,有的為了對類圖進行簡潔,將屬性、方法中的一個或兩個進行隱藏。

類圖,並不是說畫上一個矩形,寫上名稱、屬性和方法就可以了。在實際的軟體系統開發當中,類並不是孤立存在的,類與類之間存在一定的關係。

1.關聯關係

它是一種結構化關係,用於表示一類對象與另一個類對象之間有關係,例如,學生和老師,子女與父母等等。


例如:剛哥And 雲姐is同學關係


在UML中,關聯關係又包含以下幾種關係:

(1)雙向關聯:指雙方都知道對方的存在,都可以調用對方的公用屬性和方法。實現兩端都不帶箭頭。

例如:的剛哥and 雲姐,就是一種種雙向關聯關係,即雲姐既認識剛哥,剛哥也認識雲姐。

 

(2)單向關聯:表示一種單方面的相識關係:單向關聯用實現的一頭帶箭頭表示。

例如:剛哥And 比爾蓋茨 ,剛哥認識比爾蓋茨,而比爾蓋茨不知道剛哥的存在。

 

(3)彙總關係:用一個空心菱形來表示,屬於弱包含。

例如 cpu與computer,如果computer沒有了,Cpu還是可以單獨存在的。


(4)組合關係:用一個實心菱形來表示,屬於強包含,比彙總關係還要強的一種。

例如,最典型的莫過於人和他自己的胳膊,如果一個人都沒有了,那他的胳膊肯定也就消失了,胳膊是不能作為一個單獨的個體來存在的。


 

PS: 彙總和組合關係都屬於整體與部分的關係

2. 泛化關係

用於描述一個類是另一個類的類型。就是一種子類繼承父類的屬性與方法的關係。例如:

 籃球和足球都屬於球類,都具有球的屬性(圓的)和方法(拍,踢)

 例如:籃球
is a 球。這種含有 is a 關係的一般為繼承關係。

3. 依賴關係:是一種使用關係。特定事物的改變有可能會影響到使用該事物的其他事物。

例如,在系統開發當中,如果我們使用了一些公用類,供別的類使用,如果這些公用類出現了問題,那麼調用這些公用類的其他類也會出現問題。在UML中依賴關係如表示:

4.實現關係:指的是對象實現一個介面的關係。例如:小鳥屬於鳥類,它實現了鳥類會飛的這一個介面,所以小鳥也能在空中飛翔。

例如 用UML繪製類圖,一般按照這三個步驟進行:

首先定義出類;其次明確類的屬性和方法;最後分清類與類之間的關係。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.