日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
設(shè)計(jì)模式之UML類圖

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

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

類:

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

圖一

動(dòng)物類是一抽象類,它是不能被實(shí)例化的,而豬類可以被實(shí)例化。

接口:

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

(圖-2)

泛化(Generalization)

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

(圖-3)

 (圖-4)

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

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

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

(圖-5)

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

(圖-6)

一個(gè)單向的關(guān)聯(lián),表示為一條帶有指向已知類的開放箭頭(不關(guān)閉的箭頭或三角形,用于標(biāo)志繼承)的實(shí)線。如同標(biāo)準(zhǔn)關(guān)聯(lián),單向關(guān)聯(lián)包括一個(gè)角色名和一個(gè)多重值描述,但是與標(biāo)準(zhǔn)的雙向關(guān)聯(lián)不同的時(shí),單向關(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圖時(shí)應(yīng)避免的六大問題
  4. UML部署圖繪制及應(yīng)用說明
  5. UML類圖依賴關(guān)系和其他關(guān)系區(qū)別

分享名稱:設(shè)計(jì)模式之UML類圖
URL標(biāo)題:http://m.5511xx.com/article/dhhsjec.html