第3講面向?qū)ο蟪绦蛟O(shè)計(jì)上93901245.pptx_第1頁(yè)
第3講面向?qū)ο蟪绦蛟O(shè)計(jì)上93901245.pptx_第2頁(yè)
第3講面向?qū)ο蟪绦蛟O(shè)計(jì)上93901245.pptx_第3頁(yè)
第3講面向?qū)ο蟪绦蛟O(shè)計(jì)上93901245.pptx_第4頁(yè)
第3講面向?qū)ο蟪绦蛟O(shè)計(jì)上93901245.pptx_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Java語(yǔ)言程序設(shè)計(jì)1面向?qū)ο蟪绦蛟O(shè)計(jì) 程序設(shè)計(jì)方法學(xué) 對(duì)象 屬性與方法 類 對(duì)象、類之間的幾種關(guān)系 面向?qū)ο蠹夹g(shù) 人人受益2程序設(shè)計(jì)方法學(xué)過(guò)程式程序設(shè)計(jì)OOP程序設(shè)計(jì)公共數(shù)據(jù)函數(shù)函數(shù)函數(shù)函數(shù)算法數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)方法方法數(shù)據(jù)方法方法對(duì)象消息消息3程序設(shè)計(jì)方法學(xué)面向過(guò)程的程序設(shè)計(jì)面向過(guò)程的程序遵循面向過(guò)程的問(wèn)題求解方法其中心思想是用計(jì)算機(jī)能夠理解的邏輯來(lái)描述和表達(dá) 待解決的問(wèn)題及其具體的解決過(guò)程。 算法+數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)利用計(jì)算機(jī)的離散邏輯來(lái)量化表達(dá)需要解決 的問(wèn)題 。而算法則研究如何快捷、高效地組織解決問(wèn)題的具體過(guò)程。 面向過(guò)程面向機(jī)器4程序設(shè)計(jì)方法學(xué)面向?qū)ο蟮某绦蛟O(shè)計(jì)面向?qū)ο髥?wèn)題求解關(guān)心的不僅僅

2、是孤立的單個(gè)過(guò)程,而 是孕育所有這些過(guò)程的母體系統(tǒng)它能夠用計(jì)算機(jī)邏輯來(lái)模擬、描述系統(tǒng)本身,包括系統(tǒng) 的組成,系統(tǒng)的各種可能狀態(tài),以及系統(tǒng)中可能產(chǎn)生的 各種過(guò)程與過(guò)程引起的系統(tǒng)狀態(tài)切換。面向?qū)ο蟮某绦蛟O(shè)計(jì)是以要解決的問(wèn)題中所涉及到的各 種對(duì)象為主要考慮因素。對(duì)象是一種看問(wèn)題的觀點(diǎn),是對(duì)現(xiàn)實(shí)世界各種元素的一 種抽象。對(duì)象既含數(shù)據(jù)又含功能,因此具有自身處理數(shù) 據(jù)的能力。對(duì)象被認(rèn)為是迄今為止最接近真實(shí)事物的數(shù) 據(jù)抽象。5對(duì)象與過(guò)程考慮對(duì)象 考慮過(guò)程 :前者更有意義設(shè)計(jì)對(duì)象 設(shè)計(jì)過(guò)程:前者更富挑戰(zhàn)性,尤其是設(shè)計(jì) 可重用的對(duì)象。面向?qū)ο蟮某绦蛟O(shè)計(jì)和問(wèn)題求解力求符合人們?nèi)粘W?然的思維習(xí)慣,降低分解問(wèn)題的難

3、度和復(fù)雜性,提高 整個(gè)求解過(guò)程的可控制性、可監(jiān)測(cè)性和可維護(hù)性,從 而達(dá)到以較小的代價(jià)和較高的效率獲得較滿意效果的 目的。6對(duì)象的幾個(gè)特征Everything is an object原則上,可以將所要解決的問(wèn)題中的任何一個(gè)“概念組件” 在程序中表示為一個(gè)對(duì)象。對(duì)象類似一個(gè)記錄,可以存儲(chǔ)數(shù)據(jù),但你還可以讓它執(zhí)行 某些操作(作用在它自身的數(shù)據(jù)上)A program is a bunch of objects telling each other what to do by sending messages所謂對(duì)一個(gè)對(duì)象發(fā)信息,就是調(diào)用該對(duì)象的一個(gè)方法。Every object has a type

4、 each object is an instance of a class對(duì)象+消息7現(xiàn)實(shí)中的對(duì)象現(xiàn)實(shí)世界中對(duì)象有兩個(gè)共同的特點(diǎn):一方面,它們都有自己的狀態(tài),如一臺(tái)電視機(jī)有自己的 擺放位置,有關(guān)機(jī)和開(kāi)機(jī)狀態(tài),此刻正在播放某一頻道 的電視節(jié)目等另一方面,它們又都有自己的行為或功能,如電視機(jī)的 開(kāi)機(jī)、關(guān)機(jī)、調(diào)臺(tái)等。8對(duì)象的屬性與方法面向?qū)ο蟪绦蛟O(shè)計(jì)中的對(duì)象是現(xiàn)實(shí)世界對(duì)象的模型 化,它同樣具有狀態(tài)和行為。對(duì)象的狀態(tài)用屬性來(lái)維護(hù)對(duì)象的行為用方法來(lái)實(shí)現(xiàn)因此可以簡(jiǎn)單地講,對(duì)象是面向?qū)ο蟮某绦蛟O(shè)計(jì)模 式,它由描述狀態(tài)的屬性(變量)和用來(lái)實(shí)現(xiàn)對(duì)象 行為的方法(代碼)組成。幾種叫法屬性 靜態(tài)屬性 域 成員變量

5、 狀態(tài)方法 動(dòng)態(tài)屬性 成員方法 行為9案例-定單系統(tǒng)成立新的公司時(shí)尚服裝。每月發(fā)布商品編目,并寄給定戶??蛻艨梢园l(fā)e-mail 或FAX定貨(寄定單)。對(duì)于客戶的定貨要檢查存貨清單,如缺貨,得暫時(shí) 擱置定單,直到供貨商送到貨。公司檢查支票和信用卡。公司將定單下發(fā)給倉(cāng)庫(kù),給客戶發(fā)貨。注意:同種商品每月價(jià)格不一。如果訂戶使用的是六個(gè)月之前的 編目,價(jià)格采用當(dāng)前編目?jī)r(jià)格。公司接受所有主要的信用卡。10分析對(duì)象系統(tǒng)是由相互作用的對(duì)象組成。任何系統(tǒng)需要它的 對(duì)象做它的工作。案例對(duì)象:定單,服裝,客戶在一個(gè)問(wèn)題域中識(shí)別對(duì)象不是科學(xué)而是藝術(shù)。對(duì)象 取決于人的觀點(diǎn)(模塊化,應(yīng)用)從“名詞”開(kāi)始確定系統(tǒng)中的對(duì)象

6、。對(duì)象可以是:簡(jiǎn)單的和復(fù)雜的:襯衣,銀行實(shí)際的和概念的:銀行出納員,銀行帳號(hào)11對(duì)象的屬性和方法確定對(duì)象的屬性和方法對(duì)象屬性:可以是數(shù)據(jù)或?qū)ο蟆?蛻艨蛻籼?hào),客戶名,地址定單定單號(hào),定貨條目,顧客號(hào)(也可以是 顧客對(duì)象)。對(duì)象方法:讓對(duì)象做的事情(可以對(duì)自己,也可以對(duì) 其他對(duì)象),經(jīng)常影響對(duì)象屬性。 客戶提交定單 定單打印定單,改變條目12模型化對(duì)象CustomerCustomerIDnameshippingAddressphoneinitialize()placeOrder()OrderorderIDCustomerdateOrdereditemsOrderedpaymentinitializ

7、e()calcAmountOwed()printOrder()makePayment()changeItem()13測(cè)試對(duì)象與問(wèn)題域是否有關(guān)、適當(dāng)?是否獨(dú)立存在 客戶可以獨(dú)立存在。 定單可以,但在使用時(shí)必須有客戶配合。是否有屬性和方法。14對(duì)象與類類(Class)是同種對(duì)象的集合與抽象類是對(duì)象的抽象及描述,它是具有統(tǒng)一屬性和方法 的多個(gè)對(duì)象的統(tǒng)一描述體,是用來(lái)定義一組對(duì)象共 有屬性和方法的模板。類是用來(lái)創(chuàng)建對(duì)象實(shí)例的樣板,它包含所創(chuàng)建對(duì)象 的狀態(tài)描述和方法的定義。類是一個(gè)型,而對(duì)象則 是這個(gè)型的一個(gè)實(shí)例。類是靜態(tài)概念,而對(duì)象則是一個(gè)動(dòng)態(tài)概念,因?yàn)橹?有在運(yùn)行時(shí)才給對(duì)象分配空間,對(duì)象才真正存在。

8、15對(duì)象是類的唯一性實(shí)例現(xiàn)實(shí)世界 實(shí)體抽象數(shù)據(jù)類型 計(jì)算機(jī)世界抽象映射 計(jì)算機(jī)邏輯的實(shí)現(xiàn)實(shí)例化抽象概念世界 對(duì)象 類16接口與實(shí)現(xiàn)類是一種封裝技術(shù)。如果屬性或方法被定義為public ,它就是接口的一部 分,其他類可以直接訪問(wèn)它。如果屬性或方法被定義為private,它就是實(shí)現(xiàn)的一部 分。只有類自己的方法可以訪問(wèn)它。對(duì)象要注意保護(hù)自己的數(shù)據(jù)(私有屬性,公有方法)。 對(duì)象通過(guò)它們的方法管理,實(shí)現(xiàn)由編程人員控制。通過(guò)接口與對(duì)象發(fā)生作用,內(nèi)部實(shí)現(xiàn)不影響接口(汽 車,內(nèi)部變化不影響駕駛)程序一部分變化不會(huì)影響 其他部分。復(fù)用事先寫(xiě)好的操作可在整個(gè)項(xiàng)目中使用重用比重寫(xiě)更容易17對(duì)象與類幾種相互關(guān)系包含關(guān)系當(dāng)對(duì)象A是對(duì)象B的屬性時(shí),我們稱對(duì)象B包含對(duì)象A。類之間的繼承關(guān)系B類繼承了A類,就是繼承了A類的可見(jiàn)屬性和方法。A類稱之為父類,B類稱之為子類。18為什么要學(xué)習(xí)面向?qū)ο缶幊堂嫦驅(qū)ο蠹夹g(shù)的意義人腦與電腦的思維如何解決軟件危機(jī)學(xué)習(xí)面向?qū)ο蟮木o迫性現(xiàn)在已經(jīng)到了如果不了解面向?qū)ο?編程,作為一個(gè)程序員就抬不起頭來(lái)的 時(shí)候了。19面向?qū)ο蠹夹g(shù)意義目前的計(jì)算機(jī)功能很強(qiáng),但目前的計(jì)算機(jī)并不很

溫馨提示

  • 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)論