面向?qū)ο笳n程設(shè)計(jì)報(bào)告_第1頁(yè)
面向?qū)ο笳n程設(shè)計(jì)報(bào)告_第2頁(yè)
面向?qū)ο笳n程設(shè)計(jì)報(bào)告_第3頁(yè)
面向?qū)ο笳n程設(shè)計(jì)報(bào)告_第4頁(yè)
面向?qū)ο笳n程設(shè)計(jì)報(bào)告_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

第第頁(yè)面向?qū)ο笳n程設(shè)計(jì)報(bào)告

隨著計(jì)算機(jī)科學(xué)的進(jìn)展、應(yīng)用領(lǐng)域的不斷擴(kuò)大,對(duì)計(jì)算機(jī)技術(shù)本身的要求越來(lái)越高?,F(xiàn)在越來(lái)越多的軟件開(kāi)發(fā)過(guò)程采納了面對(duì)對(duì)象的開(kāi)發(fā)技術(shù),面對(duì)對(duì)象的討論遍及計(jì)算機(jī)軟硬件的各個(gè)領(lǐng)域,如面對(duì)對(duì)象的程序設(shè)計(jì)語(yǔ)言、面對(duì)對(duì)象的程序設(shè)計(jì)方法、面對(duì)對(duì)象的設(shè)計(jì)、面對(duì)對(duì)象的分析、面對(duì)對(duì)象的操作系統(tǒng)、面對(duì)對(duì)象的DBMS、面對(duì)對(duì)象的開(kāi)發(fā)工具、面對(duì)對(duì)象的開(kāi)發(fā)環(huán)境等。目前不僅在討論領(lǐng)域已取得了豐碩的成果,而且有些軟件產(chǎn)品已經(jīng)投放市場(chǎng)。面對(duì)對(duì)象技術(shù)是一種新的設(shè)計(jì)技術(shù),與傳統(tǒng)的面對(duì)過(guò)程技術(shù)相比,它試圖依據(jù)人們對(duì)問(wèn)題的看法來(lái)說(shuō)明軟件的架構(gòu),并力求將問(wèn)題域中的問(wèn)題映像到分析模型中,再轉(zhuǎn)換成對(duì)應(yīng)的程序代碼。面對(duì)對(duì)象技術(shù)提倡一種新的認(rèn)知和表示世界的思想,計(jì)算機(jī)專業(yè)人士利用它提出了面對(duì)對(duì)象的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言、面對(duì)對(duì)象的軟件設(shè)計(jì)方法、面對(duì)對(duì)象的數(shù)據(jù)庫(kù)等,使面對(duì)對(duì)象技術(shù)在今日的應(yīng)用設(shè)計(jì)中得到了最廣泛的運(yùn)用。

一、面對(duì)對(duì)象的有關(guān)基本概念

面對(duì)對(duì)象技術(shù)為軟件開(kāi)發(fā)提供了一種新的方法學(xué),引入了很多新的概念,這些概念是理解和運(yùn)用面對(duì)對(duì)象技術(shù)的.基礎(chǔ)和關(guān)鍵。

〔一〕對(duì)象(Object)、方法(Method)及消息(Message)

客觀世界的問(wèn)題都是由客觀世界中的實(shí)體及其相互之間的關(guān)系構(gòu)成的。我們將客觀世界中的實(shí)體抽象為問(wèn)題空間中的對(duì)象。由于我們需要解決的問(wèn)題不同,我們面對(duì)的對(duì)象也就不同,因此對(duì)象是不固定的。一本書(shū)可以是一個(gè)對(duì)象,一家圖書(shū)館也可以是一個(gè)對(duì)象。從動(dòng)態(tài)的觀點(diǎn)看,對(duì)象及其操作就是對(duì)象的行為,一個(gè)對(duì)象的通常定義是:對(duì)象是對(duì)一組信息及其上面的操作的描述。

私有數(shù)據(jù)結(jié)構(gòu)和處理,這些處理又稱為操作(Operation)或方法(Method),包括掌握和過(guò)程。其中私有數(shù)據(jù)表示了對(duì)象的狀態(tài),該狀態(tài)只能由私有操作來(lái)轉(zhuǎn)變,每當(dāng)需要轉(zhuǎn)變對(duì)象的狀態(tài)時(shí),只能由其它對(duì)象向該對(duì)象發(fā)送消息。

消息是用來(lái)懇求對(duì)象執(zhí)行某一操作或回答某些信息的要求,消息統(tǒng)一了數(shù)據(jù)流和掌握流,程序的執(zhí)行是靠在對(duì)象間傳遞消息來(lái)完成的。表示消息的形式是消息模式。對(duì)同一消息模式的不同消息,同一對(duì)象所作的說(shuō)明和處理都相同,但是會(huì)由于對(duì)象狀態(tài)的不同而導(dǎo)致操作結(jié)果不同。一個(gè)消息模式定義對(duì)象的一種處理技能,全部消息模式及相應(yīng)于消息模式的處理技能,定義了對(duì)象的外部特征。

〔二〕類(Class)、實(shí)例(Instance)、繼承性(Inheritance)

在客觀世界中,有很多具有相同特征的事物,如:小轎車、大客車、卡車等,可以歸類為機(jī)動(dòng)車。從對(duì)象觀點(diǎn)看,具有共同的屬性、共同的操作性質(zhì)的對(duì)象的集合就是類,而單個(gè)對(duì)象那么是對(duì)應(yīng)類的一個(gè)實(shí)例。例如:書(shū)是一個(gè)類,而某一本詳細(xì)的書(shū)如《面對(duì)對(duì)象的分析》那么是該類的一個(gè)實(shí)例,任何一個(gè)對(duì)象都是某一個(gè)類的實(shí)例,并繼承該類定義的私有數(shù)據(jù)和操作。這就是繼承性,一個(gè)類實(shí)質(zhì)上定義的是一種對(duì)象類型。

類構(gòu)成層次結(jié)構(gòu),相對(duì)上層的是超類,相對(duì)下層是子類,子類在繼承超類的私有數(shù)據(jù)結(jié)構(gòu)及操作的同時(shí)可以擁有自有的私有數(shù)據(jù)結(jié)構(gòu)及操作。假如一個(gè)子類只有一個(gè)超類,那么稱為單繼承性,這時(shí)該類共享多個(gè)超類的屬性及操作。

類和繼承性是現(xiàn)代軟件工程中的重要概念,軟件的可重用性、程序成分的可重用性是通過(guò)繼承類中的屬性和操作而實(shí)現(xiàn)的。很多工業(yè)觀測(cè)有相信可重用軟件不是通過(guò)建立傳統(tǒng)的過(guò)程序(子程序庫(kù)),而是通過(guò)建立“類庫(kù)”實(shí)現(xiàn)的。

〔三〕封裝性(Encapsulation)

對(duì)象的封裝性是面對(duì)對(duì)象技術(shù)的一個(gè)重要特征。對(duì)象本身的定義即提供了封裝性。對(duì)象的封裝性是一種信息隱藏技術(shù),對(duì)象的運(yùn)用者只能看到對(duì)象封裝界面上的信息,對(duì)象的內(nèi)部對(duì)運(yùn)用者是隱藏的,其目的在于將對(duì)象的運(yùn)用者和設(shè)計(jì)者分開(kāi)。對(duì)象的封裝性表達(dá)在以下幾個(gè)方面:

對(duì)象具有清晰的邊界:對(duì)象的內(nèi)部軟件〔數(shù)據(jù)結(jié)構(gòu)及操作〕的范圍,限定在這個(gè)邊界之內(nèi);對(duì)象具有統(tǒng)一的外部接口;對(duì)象的接口(消息模式)描述該對(duì)象與其他對(duì)象間的相互作用;對(duì)象的內(nèi)部實(shí)現(xiàn)是不公開(kāi)的;對(duì)象的實(shí)現(xiàn)給出了對(duì)象提供的功能環(huán)節(jié),外部對(duì)象是不能訪問(wèn)這個(gè)功能環(huán)節(jié)的。

信息隱藏是軟件開(kāi)發(fā)過(guò)程中強(qiáng)調(diào)的一個(gè)重要概念,對(duì)象的封裝性很好地表達(dá)了這一概念。這就便利得用面對(duì)對(duì)象技術(shù)所開(kāi)發(fā)設(shè)計(jì)的軟件的可維護(hù)性大為改善,這也是軟件技術(shù)追求的目標(biāo)之一。

二、面對(duì)對(duì)象技術(shù)的基本思想

面對(duì)對(duì)象的方法是一種分析方法、設(shè)計(jì)方法和思維方法。計(jì)算機(jī)系統(tǒng)通常是在指定的對(duì)象上執(zhí)行特定的行為操作,要獲得符合用戶需求的敏捷而且可重用的系統(tǒng),最好的方法就是把軟件結(jié)構(gòu)建立在對(duì)象之上,而不是行為之上,使計(jì)算機(jī)求解問(wèn)題更加類似于人類的活動(dòng)。因此,概括面對(duì)對(duì)象方法的基本思想為:從客觀存在的對(duì)象出發(fā)來(lái)構(gòu)造軟件系統(tǒng),并在系

統(tǒng)構(gòu)造中盡可能運(yùn)用人類的自然思維方式。面對(duì)對(duì)象技術(shù)是從問(wèn)題域中客觀存在的事物出發(fā)來(lái)構(gòu)造軟件系統(tǒng),用對(duì)象作為這些事物的抽象表示,并成為系統(tǒng)的基本構(gòu)成單位。每個(gè)對(duì)象都有其屬性和服務(wù),對(duì)象的屬性和服務(wù)融為一體,對(duì)外屏蔽其內(nèi)部環(huán)節(jié),稱作封裝,把具有相同屬性和相同服務(wù)的對(duì)象歸為一類,類是這些對(duì)象的抽象描述,每個(gè)對(duì)象是該類的一個(gè)實(shí)例,通過(guò)在不同程度上運(yùn)用抽象原那么,得到較一般的類和較非常的類,非常類繼承一般類的屬性和服務(wù),繁復(fù)的對(duì)象用簡(jiǎn)約的對(duì)象構(gòu)成,稱作聚合。對(duì)象之間的消息通信表達(dá)對(duì)象之間的動(dòng)態(tài)聯(lián)系,對(duì)象之間的關(guān)聯(lián)表達(dá)對(duì)象之間的靜態(tài)關(guān)系。

隨著科學(xué)技術(shù)不斷進(jìn)步和經(jīng)濟(jì)不斷進(jìn)展,面對(duì)對(duì)象技術(shù)在當(dāng)今軟件開(kāi)發(fā)中的運(yùn)用越來(lái)越廣泛,面對(duì)對(duì)象技術(shù)中運(yùn)用UML語(yǔ)言

溫馨提示

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

評(píng)論

0/150

提交評(píng)論