面向?qū)ο筇匦哉n件.ppt

面向?qū)ο筇匦哉n件.ppt

ID:57029652

大?。?72.50 KB

頁(yè)數(shù):80頁(yè)

時(shí)間:2020-07-26

面向?qū)ο筇匦哉n件.ppt_第1頁(yè)
面向?qū)ο筇匦哉n件.ppt_第2頁(yè)
面向?qū)ο筇匦哉n件.ppt_第3頁(yè)
面向?qū)ο筇匦哉n件.ppt_第4頁(yè)
面向?qū)ο筇匦哉n件.ppt_第5頁(yè)
資源描述:

《面向?qū)ο筇匦哉n件.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、第五章面向?qū)ο筇匦灾饕獌?nèi)容:1.類(lèi)的繼承2.類(lèi)的多態(tài)3.接口4.包1教學(xué)目的和要求:理解繼承和復(fù)用的概念理解父類(lèi)和子類(lèi)掌握擴(kuò)展類(lèi)編程理解多態(tài)性是如何擴(kuò)充和維護(hù)系統(tǒng)性能掌握如何建立包和接口2重點(diǎn):類(lèi)的封裝中的權(quán)限;包、接口的使用;類(lèi)的繼承的概念和實(shí)現(xiàn)難點(diǎn):類(lèi)多態(tài)中的方法重載和覆蓋教學(xué)重點(diǎn)與難點(diǎn)3本章討論面向?qū)ο蟮木幊蹋∣OP)及其關(guān)鍵特性:繼承和多態(tài)、接口、包。繼承性是軟件復(fù)用的一種形式,對(duì)降低軟件復(fù)雜性行之有效。繼承性同時(shí)是面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的特點(diǎn),采用對(duì)象但沒(méi)有繼承性的語(yǔ)言是基于對(duì)象的語(yǔ)言,但不是面向?qū)ο蟮恼Z(yǔ)言,這是兩者的區(qū)別。多態(tài)性允許以統(tǒng)一的風(fēng)格處理已存在的變量及相關(guān)的類(lèi),使增加系

2、統(tǒng)中新功能變得容易。學(xué)習(xí)導(dǎo)讀4目錄5.1抽象與封裝5.2繼承的概念5.3多態(tài)與動(dòng)態(tài)綁定5.4初始化與構(gòu)造方法5.5包5.6接口5.7小結(jié)55.1抽象與封裝什么是抽象?抽象就是抽出事物的本質(zhì)特性而暫時(shí)不考慮它們的細(xì)節(jié)。過(guò)程抽象和數(shù)據(jù)抽象是常用的兩種主要抽象手段。在面向?qū)ο蟪绦蛟O(shè)計(jì)中,對(duì)象是現(xiàn)實(shí)世界中的實(shí)體在程序中的抽象。而類(lèi)則是對(duì)具有類(lèi)似特征的對(duì)象的一個(gè)抽象,對(duì)象是類(lèi)的實(shí)例。6抽象是程序設(shè)計(jì)的基礎(chǔ)。軟件開(kāi)發(fā)的目的是解決現(xiàn)實(shí)問(wèn)題。而我們的現(xiàn)實(shí)世界信息太多,因此需要把重點(diǎn)集中在我們所關(guān)心的問(wèn)題上,忽略事物非本質(zhì)的細(xì)節(jié)。例如,關(guān)于一個(gè)人的信息有:姓名、年齡、工號(hào)、身高、工資、視力、興趣、婚姻狀況等

3、,但不是所有這些都要記錄。當(dāng)我們?yōu)槠髽I(yè)建立工資管理系統(tǒng)時(shí),只需要記錄姓名、工號(hào)、工資;當(dāng)一個(gè)人去體檢,則需要姓名、年齡、身高、視力;而當(dāng)他去征婚時(shí),則需要姓名、年齡、興趣、婚姻狀況等。7面向工資管理的Person類(lèi):ClassPerson{Stringname;intNO;doublesalary;}面向體檢的Person類(lèi):ClassPerson{Stringname;intage;floatheight;floateyesight;}面向征婚的Person類(lèi):ClassPerson{Stringname;intage;Stringfavorite;floatmarital_status

4、;}例子81、如何用面向?qū)ο蟮姆椒▽?shí)現(xiàn)抽象?在面向?qū)ο蟪绦蛟O(shè)計(jì)中,我們使用抽象數(shù)據(jù)類(lèi)型(AbstractDataType,ADT)來(lái)實(shí)現(xiàn)抽象。一個(gè)抽象數(shù)據(jù)類(lèi)型可以分解成4個(gè)部分。語(yǔ)法和語(yǔ)義構(gòu)成抽象數(shù)據(jù)類(lèi)型ADT的說(shuō)明,讓使用者了解這個(gè)抽象數(shù)據(jù)類(lèi)型的特征。屬性和方法構(gòu)成ADT的實(shí)現(xiàn),展示這個(gè)ADT是怎樣做成的。92、對(duì)象的封裝一個(gè)對(duì)象的變量(狀態(tài))構(gòu)成這個(gè)對(duì)象的核心,一般不將其對(duì)外公布,而是將對(duì)變量進(jìn)行操作的方法對(duì)外公開(kāi),這樣變量就被隱藏起來(lái)。這種將對(duì)象的變量置于其方法的保護(hù)之下的方式稱為封裝。例如:可以把汽車(chē)抽象成一個(gè)對(duì)象,用變量表示它當(dāng)前的狀態(tài),如速度、油量、所處的位置等,它的行為則可以

5、有加速、剎車(chē)、換檔等。我們?cè)隈{駛汽車(chē)時(shí),只需要知道如何操作相應(yīng)的方法就可以了,不用考慮汽車(chē)內(nèi)部是如何實(shí)現(xiàn)諸如提速、剎車(chē)等行為。103、實(shí)現(xiàn)抽象和封裝——類(lèi)和對(duì)象一個(gè)對(duì)象包含了若干個(gè)成員變量和成員方法,它是現(xiàn)實(shí)世界中特定實(shí)體在程序中的具體體現(xiàn)。成員變量反映實(shí)體的屬性狀態(tài),成員方法反映實(shí)體具有的行為能力,這些內(nèi)容的規(guī)格描述將由類(lèi)承擔(dān),類(lèi)是對(duì)具有類(lèi)似特征的對(duì)象的抽象說(shuō)明,對(duì)象是類(lèi)的實(shí)例。11封裝的例子---直線類(lèi)………………起/終點(diǎn)、線形、粗細(xì)和顏色繪制直線獲取屬性值設(shè)置屬性值成員方法外部訪問(wèn)成員變量125.2繼承的概念繼承性是面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的最主要的特點(diǎn),是其他語(yǔ)言(如面向過(guò)程語(yǔ)言)所沒(méi)

6、有的。類(lèi)之間的繼承關(guān)系是現(xiàn)實(shí)世界中遺傳關(guān)系的直接模擬,它表示類(lèi)之間的內(nèi)在聯(lián)系以及對(duì)屬性和操作的共享,即子類(lèi)可以沿用父類(lèi)的某些特征。當(dāng)然,子類(lèi)也可以具有自己獨(dú)立的屬性和操作。例如,飛機(jī)、汽車(chē)和輪船可歸于交通工具類(lèi),飛機(jī)類(lèi)可以繼承交通工具類(lèi)某些屬性和操作。除遺傳關(guān)系外,現(xiàn)實(shí)世界中還存在著“部分—整體”關(guān)系。例如,飛機(jī)可由發(fā)動(dòng)機(jī)、機(jī)身、機(jī)械控制系統(tǒng)、電子控制系統(tǒng)等構(gòu)成。135.2.1繼承的定義繼承性是軟件復(fù)用的一種形式。子類(lèi)由已存在的父類(lèi)生成,保留父類(lèi)的屬性和行為,并且根據(jù)子類(lèi)的要求加以修改,添加新的屬性和行為。如果子類(lèi)只從一個(gè)父類(lèi)繼承,則稱為單繼承;如果子類(lèi)從一個(gè)以上的父類(lèi)繼承,則稱為多繼承。

7、Java不支持多重繼承,但它支持“接口”的概念。接口使Java獲得了多重繼承的許多優(yōu)點(diǎn),卻摒棄了相應(yīng)的缺點(diǎn)。14在類(lèi)的定義中,父類(lèi)名跟在extends關(guān)鍵字后面,用來(lái)說(shuō)明當(dāng)前所定義的類(lèi)是哪個(gè)已經(jīng)存在類(lèi)的子類(lèi),即它們之間存在繼承關(guān)系。例子:定義雇員類(lèi)Employee的兩個(gè)子類(lèi):普通雇員類(lèi)CommonEmployee和經(jīng)理類(lèi)Manager[修飾符]class類(lèi)名[extends父類(lèi)][implements接口名]5.2.2擴(kuò)

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。