第6章.面向?qū)ο蠡A(chǔ)_第1頁
第6章.面向?qū)ο蠡A(chǔ)_第2頁
第6章.面向?qū)ο蠡A(chǔ)_第3頁
第6章.面向?qū)ο蠡A(chǔ)_第4頁
第6章.面向?qū)ο蠡A(chǔ)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第六章面向?qū)ο笈cUML基礎(chǔ)6.1 面向?qū)ο蟾拍頖radyBooch(公認(rèn)的面向?qū)ο蟠髱?,也是UML的創(chuàng)始人之一)在2004年IBMDeveloperWorksLive!大會中說過的一段話:

我使用面向?qū)ο缶幊痰哪繕?biāo)從來不是復(fù)用。相反,對我來說,對象提供一種處理復(fù)雜性問題的方式,這個問題可以追溯到亞里士多德:您把這個世界視為過程還是對象?在面向?qū)ο笈d起運動之前,編程以過程為主,例如結(jié)構(gòu)化設(shè)計方法。然而,系統(tǒng)已經(jīng)到達(dá)了超越其處理能力的復(fù)雜性極點。有了對象,我們能夠通過提升抽象級別來構(gòu)建更大的、更復(fù)雜的系統(tǒng)——我認(rèn)為,這才是面向?qū)ο缶幊踢\動的真正勝利。6.1.1 類和對象⑴類(Class):面向?qū)ο笏枷雭碓从趯ΜF(xiàn)實世界的認(rèn)知?,F(xiàn)實世界繽紛復(fù)雜、種類多樣,難于認(rèn)識和理解,但是我們可以把這些錯綜復(fù)雜的事物進(jìn)行分類,抽象出事物的特性。比如從各種各樣的貓可以抽象出貓的概念,由各式各樣的汽車抽象出汽車的概念,由五顏六色的鮮花抽象出花的概念等。6.1.1 類和對象⑵對象(Object):類和對象是容易混淆的概念。類是一個抽象的概念,對象則是類的具體實例,類在現(xiàn)實中不是真實存在,只是一個概念而已。比如人是一個類,嬴政、孔子、老子、孟子都是對象;首都是一個類,則北京、倫敦、莫斯科、東京、華盛頓都是對象;動畫貓是一個類,則Kitty、Grafield和Doraemon都是對象(如圖6-1所示)。6.1.1 類和對象⑵對象(Object):圖6-1貓的對象和類6.1.1 類和對象⑶接口(Interface)在面向?qū)ο蠹夹g(shù)中,只要保持接口不變,你可以任意更改類的實現(xiàn)細(xì)節(jié),用一個設(shè)計更好的類替換原來的類,實現(xiàn)類的升級換代,系統(tǒng)的其它部分不用做任何修改就可以繼續(xù)運行。現(xiàn)在軟件維護(hù)和修改的成本已經(jīng)占到了整個軟件開發(fā)的80%,類的這一接口思想極大的方便了程序的維護(hù)和修改,降低了軟件成本。6.1.2 面向?qū)ο蟮奶匦酝ǔ?,面向?qū)ο蠹夹g(shù)的四個基本特點是:封裝、繼承、多態(tài)、抽象。另外三個重要的面向?qū)ο蟾拍钍牵合鬟f、關(guān)聯(lián)、聚集。6.2 統(tǒng)一建模語言UMLUML簡述(1) UML的產(chǎn)生與發(fā)展(2) 什么是UML(3) UML的特點(4) UML的統(tǒng)一性(5) UML的用途(6) UML不適用的情況作為語言,UML僅僅是一種表達(dá)形式,不是建模方法,在實際的軟件項目開發(fā)中僅僅掌握一套標(biāo)準(zhǔn)的圖形符號是遠(yuǎn)遠(yuǎn)不夠的。用好UML首先需要掌握OOA、OOD的基本原則和方法,并在一定的軟件開發(fā)過程(如UP/RUP、XP等)的指導(dǎo)下進(jìn)行運用。6.2 統(tǒng)一建模語言UMLUML視圖和概覽6.3 UML的組成6.3.1類圖一個類(class)是一類或者一組具有類似屬性和共同行為的事物。類的UML表示是一個長方形,垂直地分為三個區(qū):頂部區(qū)域顯示類的名字。中間的區(qū)域列出類的屬性。底部的區(qū)域列出類的操作。圖6-2Television類的類圖6.3 UML的組成6.3.2對象圖對象圖(ObjectDiagram)表示在某一時刻一組對象以及它們之間關(guān)系的圖。對象圖可以被看作是類圖在系統(tǒng)某一時刻的實例。圖6-3UML對象圖例子左邊是一具體的Television對象,右邊是一匿名Television對象6.3 UML的組成6.3.3用例圖用例(usecase)是從用戶的觀點對系統(tǒng)行為的描述。對系統(tǒng)開發(fā)人員來說,用例是一個很有價值的工具:它是用來從用戶的觀察角度收集系統(tǒng)需求的一項技術(shù)。圖6-4UML用例圖示例6.3 UML的組成6.3.4狀態(tài)圖狀態(tài)圖表示某個類所處的不同狀態(tài)和該類的狀態(tài)轉(zhuǎn)換信息。圖6-5UML狀態(tài)圖示例6.3 UML的組成6.3.5順序圖順序圖以二維圖表來顯示交互。縱向是時間軸,時間自上而下;橫向顯示了代表協(xié)作中單個對象的分類角色。每個分類角色表現(xiàn)為垂直列——生命線。在對象存在的時間內(nèi),角色顯示為虛線;在對象的過程激活時間內(nèi),生命線顯示為雙線。消息顯示為從一個對象生命線出發(fā)至另一個生命線的箭頭。箭頭用從上而下來的時間順序來安排。6.3 UML的組成6.3.6活動圖活動圖可用于在業(yè)務(wù)單元的級別上對更高級別的業(yè)務(wù)過程進(jìn)行建模,或者對低級別的內(nèi)部類操作進(jìn)行建模。6.3 UML的組成6.3.7協(xié)作圖順序圖和協(xié)作圖均被稱為交互圖(interactiondiagram)。由一組對象、對象間的關(guān)系、對象間發(fā)送的消息組成一種動態(tài)視圖,可以單獨使用、也可以對用例中的特定控制流程建模。順序圖和協(xié)作圖是同構(gòu)的:兩種圖之間可以相互轉(zhuǎn)換,而沒有任何信息損失。6.3 UML的組成6.3.8構(gòu)件圖構(gòu)件圖提供系統(tǒng)的物理視圖。它的用途是顯示系統(tǒng)中的軟件對其他軟件構(gòu)件(例如,庫函數(shù)、類)的依賴關(guān)系。圖6-9UML1.x版本中的構(gòu)件圖及示例圖6-10UML2.0版本中的構(gòu)件圖6.3 UML的組成6.3.9部署圖部署圖表示該軟件系統(tǒng)如何部署到硬件環(huán)境中。它的用途是顯示該系統(tǒng)不同的組件將在何處物理地運行,以及它們將如何彼此通信。因為部署圖是對物理運行情況進(jìn)行建模,系統(tǒng)的生產(chǎn)人員就可以很好地利用這種圖。圖6-11UML部署圖示例

本章小結(jié)

面向?qū)ο蠹夹g(shù)是一種思維方法。對象是類的實例。類是具有相同屬性和操作的一類對象集。封裝、繼承、多態(tài)、抽象是面向?qū)ο蟮乃膫€重要特性。對象之間通過消息傳遞來協(xié)同工作。對象通常要和其他對象發(fā)生關(guān)聯(lián),關(guān)聯(lián)可以有多種形式。聚集是一種特殊的關(guān)聯(lián),聚集對象由部

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論