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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

溫馨提示

  • 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

提交評論