如何閱讀對象模型圖_第1頁
如何閱讀對象模型圖_第2頁
如何閱讀對象模型圖_第3頁
如何閱讀對象模型圖_第4頁
如何閱讀對象模型圖_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 AE OMD AE OMD圖的閱讀圖的閱讀2010.92010.9西安科技大學(xué)西安科技大學(xué)測繪科學(xué)與技術(shù)學(xué)院測繪科學(xué)與技術(shù)學(xué)院李崇貴李崇貴1 1、對象模型圖閱讀、對象模型圖閱讀 n幾個名詞概念幾個名詞概念: :UMLUML:Unified Modeling Language Unified Modeling Language 統(tǒng)一建模語言,是用來對軟件密集統(tǒng)一建模語言,是用來對軟件密集系統(tǒng)進(jìn)行可視化建模的一種語言。系統(tǒng)進(jìn)行可視化建模的一種語言。UMLUML為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進(jìn)行為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進(jìn)行說明、可視化、和編制文檔的一種標(biāo)準(zhǔn)語言。說明、可視化、和編制文檔的一種標(biāo)準(zhǔn)語言。O

2、MDOMD:Object model diagrams Object model diagrams 對象模型圖表。對象模型圖表。首先來看看首先來看看OMDOMD能幫我們做什么能幫我們做什么? ?1 1 該類支持哪些接口;該類支持哪些接口;2 2 完成任務(wù)需要哪些對象;完成任務(wù)需要哪些對象;3 3 如何使用該類的對象;如何使用該類的對象;4 4 是否可以直接實(shí)例化類;是否可以直接實(shí)例化類;5 5 接口有哪些方法和屬性;接口有哪些方法和屬性;6 6 是否有其它類也支持該接口;是否有其它類也支持該接口;7 7 對象間的關(guān)系對象間的關(guān)系 這些符號是基于這些符號是基于UML 畫圖工具創(chuàng)建的,畫圖工具創(chuàng)建

3、的,UML 符號是面向?qū)ο蠓治龊驮O(shè)計的工業(yè)圖樣標(biāo)準(zhǔn)。符號是面向?qū)ο蠓治龊驮O(shè)計的工業(yè)圖樣標(biāo)準(zhǔn)。對象模型圖中提供的信息非常多,是對象瀏覽器中信息的重要補(bǔ)充。對象模型圖中提供的信息非常多,是對象瀏覽器中信息的重要補(bǔ)充。C#,或者其它的開發(fā)環(huán)境,或者其它的開發(fā)環(huán)境,都會列出所有的類和成員,但不會指明這些類之間的關(guān)系。所以,對象模型圖是非常有利于讀都會列出所有的類和成員,但不會指明這些類之間的關(guān)系。所以,對象模型圖是非常有利于讀者對者對ArcInfo 組件的理解的!組件的理解的!1. 類和對象類和對象在UML 圖中有三種類型的類:抽象類(abstract class)、可創(chuàng)建類(createable c

4、lass)與可實(shí)例化類(instantiable class)。l抽象類不能用以創(chuàng)建新對象,但可以用來指定子類。舉個例子,“鳥”是“雞”的抽象類。l可創(chuàng)建類指的是那些能夠直接使用開發(fā)環(huán)境中的對象定義語法來創(chuàng)建對象。比如在Visual Basic 中是這樣書寫:Dim As New 或者CreateObject 。l可實(shí)例化類不能夠直接創(chuàng)建新對象,但是這種類的對象能夠作為其它對象的屬性被創(chuàng)建或是從其它類的方法中創(chuàng)建。-比較難理解。1 1、對象模型圖閱讀、對象模型圖閱讀 鳥鳥 AbstractAbstract鳥巢 CoClass雞 CoClass羽毛羽毛 ClassClass翅膀翅膀 ClassC

5、lass蛋蛋 ClassClass*22. 關(guān)聯(lián)關(guān)聯(lián)在抽象類、可創(chuàng)建類和可實(shí)例化類之間,有幾種存在的關(guān)聯(lián)(或稱關(guān)系)。聯(lián)系(association)便描述了類之間的關(guān)聯(lián)。在兩端的類中可以定義多重性( Multiplicity)關(guān)聯(lián)。 在這張圖上,一個業(yè)主能有擁有一塊或多塊宗地;同樣地,一塊宗地可以被一個或多個業(yè)主所共有。多重性關(guān)聯(lián)就是限制對象類與其它對象關(guān)聯(lián)的數(shù)目關(guān)系。以下是用于多重性關(guān)聯(lián)的符號:1 一個并且只有一個,這種多樣性是可選的;如果不標(biāo)明,則默認(rèn)為“1”0.1 零個或一個M.N 從M 到N(正整數(shù))*或者0 * 從零到任意正整數(shù)1 * 從一到任意正整數(shù) 1 1、對象模型圖閱讀、對象模

6、型圖閱讀 5、組成組成(Composition)是一種更為強(qiáng)壯的聚合方式,此種方式下,“整體”對象控制著“部分”對象的生存時間。 一個pole 包含一個或多個crossarm。在這個圖中當(dāng)pole 被移除后,crossarm 就不能再使用了。因?yàn)閜ole 控制著crossarm 的生存時間。1 1、對象模型圖閱讀、對象模型圖閱讀 6、OMD中的符號:中的符號:n一個三角形符號 表示繼承n形的黑色小塊 表示組成n線前頭帶個箭頭 表示用來創(chuàng)建n* 表示對應(yīng)關(guān)系1:Nn一條直線表示 聯(lián)合1 1、對象模型圖閱讀、對象模型圖閱讀 6、OMD中的符號:中的符號:類的類別:類的類別:n抽象類:抽象類:不能創(chuàng)

7、建或?qū)嵗?,從來沒有一個抽象類的實(shí)例 用于定義子類的公共接口,子類繼承其定義的接口。OMD符號為:二維的內(nèi)部有陰影的矩形。n例化類:例化類:不能創(chuàng)建,從別的對象獲得實(shí)例。 OMD符號為:3D矩形內(nèi)部沒有陰影n可創(chuàng)建的類:可創(chuàng)建的類:用New關(guān)鍵字創(chuàng)建對象或者從別的對象獲得運(yùn)行實(shí)例。OMD符號為:帶陰影的3D矩形符號。1 1、對象模型圖閱讀、對象模型圖閱讀 6、OMD中的符號:中的符號:屬性和方法:屬性和方法:n屬性:啞鈴狀的圖標(biāo),Read(左側(cè)的啞鈴)和write(右側(cè)的啞鈴)n方法:指向左側(cè)的箭頭n接口:棒棒糖類型的圖標(biāo)n圖表之間的連接:蟲洞1 1、對象模型圖閱讀、對象模型圖閱讀 7、入接口

8、和出接口、入接口和出接口(Inbound interface,Outbound interface)COM調(diào)用既可以是單向的(即客戶程序創(chuàng)建組件對象,然后客戶程序調(diào)用對象所提供的功能,在適當(dāng)時候再把對象釋放掉),通常稱為入接口。如果一個COM對象支持一個或多個主動與客戶程序進(jìn)行通信的接口,則這種接口稱為出接口,是因?yàn)檫@些接口并不由對象實(shí)現(xiàn),而是由客戶程序?qū)崿F(xiàn).(類似回調(diào)函數(shù),在對象模型圖中表現(xiàn)為“事件”)1 1、對象模型圖閱讀、對象模型圖閱讀 個人感覺在OMD圖中比較難理解的就是可實(shí)例化類CLASS。從下面的例子去理解它:ArcGIS Engine中 workSpace 就是一個可實(shí)例化類,W

9、orkSpace不能用new創(chuàng)建,但可以通過WorkSpaceFarctory.Openfromfile()方法來創(chuàng)建.如下:IWorkspaceFactory pWorkspaceFactory = new AccessWorkspaceFactoryClass();IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(ConnectionString, 0);1 1、對象模型圖閱讀、對象模型圖閱讀 2 2、接口查找、接口查找快速得知ArcGIS Engine接口所屬命名空間的幾種方式 1.Visual Stduio 2005中提供的智

10、能感知(鼠標(biāo)懸浮在接口上就能看到)或中提供的智能感知(鼠標(biāo)懸浮在接口上就能看到)或“轉(zhuǎn)轉(zhuǎn)到定義到定義”(理論上提供(理論上提供F12快捷)快捷) 2.使用幫助文檔的索引使用幫助文檔的索引 ArcGIS的幫助文檔可以說是非常強(qiáng)悍的,如下圖所示:的幫助文檔可以說是非常強(qiáng)悍的,如下圖所示:3.使用使用AE自帶的工具:【自帶的工具:【Library Locator】 這個工具的使用比較簡單(如果用這個工具的使用比較簡單(如果用.NET的話,勾選窗體下部的復(fù)選框),該工具的話,勾選窗體下部的復(fù)選框),該工具能夠粘貼命名空間和能夠粘貼命名空間和ProgID。 4.OMD OMD文檔結(jié)構(gòu)圖,理理接口之間的關(guān)

11、系,能很大的幫助自己。文檔結(jié)構(gòu)圖,理理接口之間的關(guān)系,能很大的幫助自己。 2 2、接口查找、接口查找3 3、接口跳轉(zhuǎn)、接口跳轉(zhuǎn)接口跳轉(zhuǎn)又叫接口查詢 Fuel Accelerate Brake PitStop LapTimeIDriveIRaceRaceCarDim pCar as IDriveDim pCar as IDriveSet pCar Set pCar new RaceCarnew RaceCarpCar.AcceleratepCar.AccelerateDim pRace as IRaceDim pRace as IRaceSet pRace = pCarSet pRace = p

12、CarpRace .PitStoppCar .Accelerate接口跳轉(zhuǎn)時要特別注意:n同一個Com類或則向上(父類)可以實(shí)現(xiàn)接口跳轉(zhuǎn)n向下或同級不可以實(shí)現(xiàn)接口跳轉(zhuǎn)COM所建立的是一個軟件模塊與另一個軟件模塊之間的鏈所建立的是一個軟件模塊與另一個軟件模塊之間的鏈接接, 當(dāng)這種鏈接建立之后當(dāng)這種鏈接建立之后, 模塊之間就可以通過被稱之為模塊之間就可以通過被稱之為Interface“接口接口 ”的機(jī)制來進(jìn)行通信。在絕大部分情況下的機(jī)制來進(jìn)行通信。在絕大部分情況下, 客戶應(yīng)用程序與組件的通信過程是單向的客戶應(yīng)用程序與組件的通信過程是單向的, 客戶創(chuàng)建組件對客戶創(chuàng)建組件對象象, 然后客戶通過接口調(diào)用

13、對象所提供的功能然后客戶通過接口調(diào)用對象所提供的功能, 在適當(dāng)?shù)臅r候在適當(dāng)?shù)臅r候再把對象釋放掉。在這種交互過程中再把對象釋放掉。在這種交互過程中, 客戶總是主動的客戶總是主動的, 而組而組件總是處于被動狀態(tài)件總是處于被動狀態(tài), 通過自身暴露給客戶的接口監(jiān)聽客戶通過自身暴露給客戶的接口監(jiān)聽客戶的請求的請求, 一旦接收到客戶的請求便做出反應(yīng)。這樣的接口稱一旦接收到客戶的請求便做出反應(yīng)。這樣的接口稱為入接口為入接口incoming interface,對于一個全面交互過程來,對于一個全面交互過程來說說, 這樣的單向通信往往是不能滿足實(shí)際的需要這樣的單向通信往往是不能滿足實(shí)際的需要, 組件對象也組件對象也要主動與客戶進(jìn)行通信要主動與客戶進(jìn)行通信, 因此因此, 與入接口相對應(yīng)與入接口相對應(yīng), 對象也可以對象也可以提供出接口提供出接口outgoing interface 也叫回調(diào)接口也叫回調(diào)接口 , 對象通過對象通過這些出接口與客戶進(jìn)行通信。之所以把這些接口稱為出接口這些出接口與客戶進(jìn)行通信。之所以把這些接口稱為出接口, 其原因在于這些接口并不由其原因在于這些接口并不由 COM服務(wù)器端的對象實(shí)現(xiàn)服務(wù)器端的對象實(shí)現(xiàn), 而是而是由客戶程序來實(shí)現(xiàn)由客戶程序來實(shí)現(xiàn), 客戶實(shí)現(xiàn)這些接口客戶實(shí)現(xiàn)這些接口, 并把接口并把接口指針通過一定的手段傳給指針通過一定的手段傳給 服務(wù)器服務(wù)器

溫馨提示

  • 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

提交評論