自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

設(shè)計模式之UML類圖

開發(fā) 架構(gòu)
學(xué)習(xí)設(shè)計模式,UML類圖是基礎(chǔ),通過UML類圖,能更好地和大家交流,也能很容易就表達(dá)出自己的設(shè)計想法,它就好比普通話,是一種標(biāo)準(zhǔn)語言。

設(shè)計模式之UML類圖

學(xué)習(xí)設(shè)計模式,UML類圖是基礎(chǔ),通過UML類圖,能更好地和大家交流,也能很容易就表達(dá)出自己的設(shè)計想法,它就好比普通話,是一種標(biāo)準(zhǔn)語言。
現(xiàn)在流行的主要工具有兩種:RationalRose和MicrosoftVisio,這兩種工具都比較易用,選擇哪種工具就看個人的喜好了。本人對Microsoft的軟件比較有好感,所以自然MicrosoftVisio2003是我的首選。

類:

矩形框代表一個類(如圖-1),類圖分為三層,第一層為類的名稱,如果是抽象類類名用斜體字表示,如圖中動物類所示。第二層是類的特性(通常就是類的字段和屬性)。第三層為類的操作(通常就是方法或行為)。注意前面的符號,“+”表示public,“-”表示private,“#”表示protected.

 

圖一

動物類是一抽象類,它是不能被實例化的,而豬類可以被實例化。

接口:

UML類圖中接口有兩種表示方法:矩形表示法(如圖-2中的飛翔的接口)和棒棒糖表示法(如圖-2中唐老鴨類中實現(xiàn)講人話的接口)。矩形表示法,頂端有<<接口>>或者<<interface>>,第一行:接口名稱,第二行:接口方法。棒棒糖表示法,圓圈旁為接口名稱,接口方法在實現(xiàn)類中出現(xiàn),如唐老鴨類中的講話。

(圖-2)

泛化(Generalization)

UML類圖中泛化關(guān)系表示類與類之間的繼承關(guān)系,接口與接口之間的繼承關(guān)系,或類對接口的實現(xiàn)關(guān)系。一般化的關(guān)系是從子類指向父類的,與繼承或?qū)崿F(xiàn)的方法相反。具體表現(xiàn):父類父類實例=new子類();

(圖-3)

 

 (圖-4)

用空心三角形+實線來表示繼承(如圖-3)。在靜態(tài)結(jié)構(gòu)圖中,在父類和子類間拖放歸納連接,箭頭指向父類,另一段指向子類。關(guān)聯(lián)關(guān)系是使用實例變量來實現(xiàn)。
用空心三角形+虛線來表示實現(xiàn)接口(如圖-4)。在靜態(tài)結(jié)構(gòu)圖中,右擊任意類形狀(“類”、“參數(shù)化的類”、“實用程序”或“元類”),單擊“形狀顯示選項”,然后在“常規(guī)選項”下選擇“實現(xiàn)鏈接”。將類形狀上的實現(xiàn)鏈接的控制手柄(黃色小菱形)粘附到接口、類或其他元素的連接點上。

關(guān)聯(lián)(Association)

UML類圖中對于兩個相對獨立的對象,當(dāng)一個對象的實例與另一個對象的一些特定實例存在固定的對應(yīng)關(guān)系時,這兩個對象之間為關(guān)聯(lián)關(guān)系。關(guān)聯(lián)又分為雙向關(guān)聯(lián)、單向關(guān)聯(lián)、自身關(guān)聯(lián)。
雙向關(guān)聯(lián):雙向關(guān)聯(lián)是兩個類之間的聯(lián)接。關(guān)聯(lián)總是被假定是雙向的;這意味著,兩個類彼此知道它們間的聯(lián)系,除非你限定一些其它類型的關(guān)聯(lián)。如(圖-5)Flight的例子,顯示了在Flight類和Plane類之間的一個標(biāo)準(zhǔn)類型的關(guān)聯(lián)。

 

(圖-5)


一個雙向關(guān)聯(lián)用兩個類間的實線表示。在線的任一端,你放置一個角色名和多重值。圖-5顯示Flight與一個特定的Plane相關(guān)聯(lián),而且Flight類知道這個關(guān)聯(lián)。因為角色名以Plane類表示,所以Plane承擔(dān)關(guān)聯(lián)中的“assignedPlane”角色。緊接于Plane類后面的多重值描述0...1表示,當(dāng)一個Flight實體存在時,可以有一個或沒有Plane與之關(guān)聯(lián)(也就是,Plane可能還沒有被分配)。圖-5也顯示Plane知道它與Flight類的關(guān)聯(lián)。在這個關(guān)聯(lián)中,F(xiàn)light承擔(dān)“assignedFlights”角色;圖-5的圖告訴我們,Plane實體可以不與flight關(guān)聯(lián)(例如,它是一架全新的飛機)或與沒有上限的flight(例如,一架已經(jīng)服役5年的飛機)關(guān)聯(lián)。
由于對那些在關(guān)聯(lián)尾部可能出現(xiàn)的多重值描述感到疑惑,下面列出了一些多重值及它們含義的例子(0..1:0個或1個;1:只能1個;0..*:0個或多個;*:0個或多個;1..*:一個或多個;等等。)
UML類圖單項關(guān)聯(lián):在一個單向關(guān)聯(lián)中,兩個類是相關(guān)的,但是只有一個類知道這種聯(lián)系的存在。(圖-6)顯示單向關(guān)聯(lián)的透支財務(wù)報告的一個實例。

 

(圖-6)


一個單向的關(guān)聯(lián),表示為一條帶有指向已知類的開放箭頭(不關(guān)閉的箭頭或三角形,用于標(biāo)志繼承)的實線。如同標(biāo)準(zhǔn)關(guān)聯(lián),單向關(guān)聯(lián)包括一個角色名和一個多重值描述,但是與標(biāo)準(zhǔn)的雙向關(guān)聯(lián)不同的時,單向關(guān)聯(lián)只包含已知類的角色名和多重值描述。在(圖-6)中的例子中,OverdrawnAccountsReport知道BankAccount類,而且知道BankAccount類扮演“overdrawnAccounts”的角色。然而,和標(biāo)準(zhǔn)關(guān)聯(lián)不同,BankAccount類并不知道它與OverdrawnAccountsReport相關(guān)聯(lián)。

【編輯推薦】

  1. UML類圖中四大關(guān)系詳解
  2. 技術(shù)分享 UML類圖轉(zhuǎn)化成XML文檔模式方法揭秘
  3. 繪制UML圖時應(yīng)避免的六大問題
  4. UML部署圖繪制及應(yīng)用說明
  5. UML類圖依賴關(guān)系和其他關(guān)系區(qū)別
責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-07-07 09:48:05

UML

2010-07-05 16:07:15

UML圖設(shè)計模式

2010-06-30 14:37:20

UML類圖

2010-07-12 10:25:44

UML類圖

2010-06-11 17:18:26

UML精粹

2010-06-09 18:17:18

UML

2010-07-01 17:05:34

UML包圖

2010-07-12 09:37:26

UML建模

2010-06-12 18:30:57

UML類圖關(guān)系

2010-07-02 10:25:50

UML模型圖

2010-06-29 11:00:25

UML類圖實例

2010-06-28 16:13:18

UML類圖設(shè)計

2010-06-30 14:46:49

UML類圖

2010-06-10 09:04:18

UML用例圖

2010-06-17 14:35:03

設(shè)計模式 UML

2010-06-28 18:21:36

UML類圖設(shè)計

2010-06-09 14:31:31

UML狀態(tài)圖

2010-06-29 13:22:26

UML類圖

2010-07-01 11:33:17

UML類圖關(guān)系

2010-06-11 18:09:26

UML對象圖
點贊
收藏

51CTO技術(shù)棧公眾號