第4章面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)Java程序設(shè)計(jì)_第1頁
第4章面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)Java程序設(shè)計(jì)_第2頁
第4章面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)Java程序設(shè)計(jì)_第3頁
第4章面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)Java程序設(shè)計(jì)_第4頁
第4章面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)Java程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第4章面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)4.1面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念4.2面向?qū)ο蟪绦蛟O(shè)計(jì)的特征4.3從現(xiàn)實(shí)世界到面向?qū)ο蟪绦蜷_發(fā)4.4綜合運(yùn)用實(shí)例4.1面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念4.1.1什么是面向?qū)ο蟪绦蛟O(shè)計(jì)

面向?qū)ο蟪绦蛟O(shè)計(jì)(Object-OrientedProgramming,OOP)。

從客觀世界中的角度看,世界是事物的集合,把一個(gè)事物作為一個(gè)對(duì)象看待。每個(gè)事物都有自己的屬性和行為。從程序設(shè)計(jì)的角度看,事物的屬性可以用數(shù)據(jù)類型描述,對(duì)屬性的操作用方法來描述。

4.1面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念4.1.1什么是面向?qū)ο蟪绦蛟O(shè)計(jì)

面向?qū)ο蟪绦蛟O(shè)計(jì)的實(shí)質(zhì)就是在程序設(shè)計(jì)中操作各對(duì)象并進(jìn)行對(duì)象之間的消息傳遞,同時(shí)接到消息的對(duì)象產(chǎn)生適合該消息的動(dòng)作。粉筆學(xué)生黑板教師教學(xué)內(nèi)容課桌教室課堂中部分對(duì)象模型用面向?qū)ο蟮乃枷脒M(jìn)行程序設(shè)計(jì)來描述老師講述一堂課的過程4.1面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念教師學(xué)生⑴(i)⑵

⑶⑷

⑴上課鈴響了⑵教師走進(jìn)教室⑶學(xué)生問候老師⑷教師宣布開始上課⑸教師提問...(i)下課鈴響了課堂中教師和學(xué)生對(duì)象的部分消息傳遞4.1面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念

對(duì)象與類簡(jiǎn)單地說:對(duì)象是表示現(xiàn)實(shí)世界中某個(gè)具體的事物;類是對(duì)對(duì)象的抽象描述。類是模板,是抽象的,對(duì)象是類的實(shí)例,是具體的。學(xué)生:張三類(CLASS)如:

classStudent”將對(duì)象抽象為類對(duì)類進(jìn)行實(shí)例化類包括:1、屬性(也叫數(shù)據(jù)成員,是靜態(tài)特征,描述對(duì)象的狀態(tài))

2、方法(也叫方法成員,是動(dòng)態(tài)特征,描述對(duì)象在接收到某一個(gè)消息后所完成的動(dòng)作)4.1面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念4.1.3類類就是對(duì)具有相同特征的不同對(duì)象的抽象描述,是抽象的模板。

屬性:姓名 科目 年齡 性別 ...方法:拿粉筆板書(…)講述(…)...類名:教師屬性:長(zhǎng)度 顏色 形狀 ...方法:寫(…)畫(…)涂(…)...類名:粉筆教師類和粉筆類4.1面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念屬性:姓名彭正文科目Java年齡 38性別 男...方法:拿粉筆板書(…)講述(…)演示(…)...教師對(duì)象屬性:長(zhǎng)度 5cm顏色 紅色形狀 圓柱...方法:寫(…)畫(…)涂(…)...粉筆對(duì)象向粉筆發(fā)出寫“面向?qū)ο蟆钡南⒃诤诎迳蠈懗觥懊嫦驅(qū)ο蟆钡膬?nèi)容,字體顏色為紅色,同時(shí)粉筆長(zhǎng)度逐步變短教師對(duì)象和粉筆對(duì)象4.1面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念方法可以修改對(duì)象的屬性,一個(gè)對(duì)象也可以修改和訪問其他對(duì)象

對(duì)象是表示現(xiàn)實(shí)世界中某個(gè)具體的事物,是具體的實(shí)例。

4.2面向?qū)ο蟪绦蛟O(shè)計(jì)的特征

OOP中采用了三大技術(shù):封裝、繼承和多態(tài)

4.2.1封裝封裝:將數(shù)據(jù)(屬性)和對(duì)數(shù)據(jù)的操作(方法)捆綁在一起成為類。一般在進(jìn)行類封裝時(shí)應(yīng)盡量避免走兩個(gè)極端,一個(gè)是將類中所有成員全部敞開訪問,另一種就是將所有成員全部保護(hù)起來。前一種情況將失去面向?qū)ο蟮囊饬x,而后一種情況則違背了現(xiàn)實(shí)世界事物的規(guī)律,因?yàn)橥耆忾]的事物是沒有任何意義的。4.2面向?qū)ο蟪绦蛟O(shè)計(jì)的特征public職工人數(shù)public領(lǐng)導(dǎo)public售票信息public車次信息...public咨詢(…)public售票(…)...類名:火車站private職工人數(shù)private領(lǐng)導(dǎo)public售票信息public車次信息...public咨詢(…)public售票(…)private獲取職工人數(shù)(…)...類名:火車站

火車站類添加“獲取職工人數(shù)”成員的火車站類一般把外部要頻繁訪問的成員對(duì)外敞開,而外部幾乎不需要了解的成員進(jìn)行保護(hù)。如在火車站中,列車車次信息和售票窗口信息等屬于外部經(jīng)常訪問成員,應(yīng)該敞開訪問,而火車站中的職工人數(shù)、職工的工資、領(lǐng)導(dǎo)是誰等對(duì)于外部來講是不需要了解的,因此應(yīng)該對(duì)外部屏蔽。4.2面向?qū)ο蟪绦蛟O(shè)計(jì)的特征4.2.2繼承繼承:將一個(gè)已有類的數(shù)據(jù)和方法保留,并加上自己特殊的方法和屬性,構(gòu)成一個(gè)新類。原來的類就是父類,新類就是子類。姓名 性別年齡年級(jí)班主任…類名:學(xué)生平均成績(jī)是否為少先隊(duì)員…類名:小學(xué)生專業(yè)是否為團(tuán)員…類名:大學(xué)生單繼承單繼承繼承4.2面向?qū)ο蟪绦蛟O(shè)計(jì)的特征4.2.3多態(tài)

多態(tài):在一個(gè)類或者多個(gè)可以讓多個(gè)方法是用相同的方法名。4.2面向?qū)ο蟪绦蛟O(shè)計(jì)的特征按快門()…類名:相機(jī)按快門(){按機(jī)械拍攝原理拍攝}…類名:機(jī)械相機(jī)按快門(){按數(shù)碼拍攝原理拍攝}…類名:數(shù)碼相機(jī)繼承繼承4.3從現(xiàn)實(shí)世界到面向?qū)ο蟪绦蜷_發(fā)

在現(xiàn)實(shí)世界中的許多問題幾乎都可以用面向?qū)ο蟪绦蜷_發(fā)的方法很好的解決。在用面向?qū)ο蟪绦蛟O(shè)計(jì)的方法解決這些問題時(shí)如何對(duì)現(xiàn)實(shí)問題進(jìn)行對(duì)象化處理,是面向?qū)ο蟪绦蛟O(shè)計(jì)過程中的一個(gè)重要的環(huán)節(jié)。在實(shí)際應(yīng)用中,一般首先要使用抽象的方法把問題的實(shí)質(zhì)抽取出來,之后采取一定的面向?qū)ο蟪绦蜷_發(fā)的步驟來進(jìn)行具體實(shí)施。4.3.2面向?qū)ο蟪绦蛟O(shè)計(jì)步驟

運(yùn)用面向?qū)ο蟪绦蛟O(shè)計(jì)方法進(jìn)行軟件設(shè)計(jì),一般要經(jīng)過系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、對(duì)象設(shè)計(jì)、應(yīng)用程序生成、軟件的測(cè)試與維護(hù)等幾個(gè)階段。系統(tǒng)分析階段的主要任務(wù):對(duì)系統(tǒng)進(jìn)行對(duì)象分解,從中抽象出對(duì)象、類及子類,并建立該系統(tǒng)對(duì)象模型。系統(tǒng)設(shè)計(jì)階段的主要任務(wù):確定目標(biāo)系統(tǒng)問題求解策略,包括系統(tǒng)劃分為子系統(tǒng)以及各個(gè)子系統(tǒng)的硬件和軟件資源配置等。4.3從現(xiàn)實(shí)世界到面向?qū)ο蟪绦蜷_發(fā)對(duì)象設(shè)計(jì)階段的主要任務(wù):完成各個(gè)對(duì)象(類)的細(xì)節(jié)處理,包括內(nèi)部數(shù)據(jù)結(jié)構(gòu)表示、對(duì)象接口及其算法等。應(yīng)用程序生成階段:該階段主要是根據(jù)對(duì)象間的相互作用關(guān)系,完成整個(gè)系統(tǒng)軟件的構(gòu)造。軟件的測(cè)試與維護(hù)階段的主要任務(wù):保證軟件的正確、可靠運(yùn)行。4.3從現(xiàn)實(shí)世界到面向?qū)ο蟪绦蜷_發(fā)4.4綜合運(yùn)用實(shí)例用前面所學(xué)到的面向?qū)ο蠡A(chǔ)知識(shí)來描述某個(gè)教師上一堂課的過程。【實(shí)例4】問題描述:使用面向?qū)ο蠹夹g(shù)描述某個(gè)教師上課過程。問題分析步驟1:抽象出上課過程中所設(shè)及到的類。上課過程中所涉及到的類主要有:類集合{人、教師、學(xué)生、黑板、粉筆、鈴、粉筆擦、桌子、講臺(tái)、課桌、教材、講義、教室、課}其中各類之間的關(guān)系:1、繼承關(guān)系:(1)教師類、學(xué)生類是人類的子類(2)講臺(tái)、課桌類是桌子類的子類(3)講義類是教材類的子類2、聚合及組合關(guān)系:(1)

教室類中包容了講桌、課桌、黑板類對(duì)象(2)課類包容了人、教師、學(xué)生、教室類對(duì)象。(3)教師聚合了教材、講義。(4)講臺(tái)包括了粉筆、粉筆擦類

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論