




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、河南經(jīng)貿(mào)職業(yè)學(xué)院河南經(jīng)貿(mào)職業(yè)學(xué)院信息管理系信息管理系主講教師:武俊琢主講教師:武俊琢第七講第七講 抽象類與抽象方法抽象類與抽象方法-多態(tài)性、抽象方法和抽象類多態(tài)性、抽象方法和抽象類信息管理系信息管理系 武俊琢武俊琢河南經(jīng)貿(mào)職業(yè)學(xué)院河南經(jīng)貿(mào)職業(yè)學(xué)院信息管理系信息管理系主講:武俊琢主講:武俊琢* * * * 溫故溫故 * * * *n類成員的訪問(wèn)權(quán)限類成員的訪問(wèn)權(quán)限npublic、protected、友好、友好、privaten子類繼承子類繼承,子類繼承父類的成員子類繼承父類的成員n在同一包:子類可繼承父類非私有成員在同一包:子類可繼承父類非私有成員n不同包:子類可繼承父類的不同包:子類可繼承父類
2、的protcted和和public成員。成員。n變量的隱藏和方法的覆蓋變量的隱藏和方法的覆蓋n使用使用super關(guān)鍵字關(guān)鍵字n使用使用super調(diào)用被隱藏的變量和被覆蓋的方法調(diào)用被隱藏的變量和被覆蓋的方法n使用使用super調(diào)用父類的構(gòu)造方法調(diào)用父類的構(gòu)造方法n對(duì)象的上轉(zhuǎn)型對(duì)象對(duì)象的上轉(zhuǎn)型對(duì)象n父類變量引用子類對(duì)象。父類變量引用子類對(duì)象。河南經(jīng)貿(mào)職業(yè)學(xué)院河南經(jīng)貿(mào)職業(yè)學(xué)院信息管理系信息管理系主講:武俊琢主講:武俊琢本講要點(diǎn)本講要點(diǎn)n類的多態(tài)類的多態(tài)n抽象方法與抽象類抽象方法與抽象類河南經(jīng)貿(mào)職業(yè)學(xué)院河南經(jīng)貿(mào)職業(yè)學(xué)院信息管理系信息管理系主講:武俊琢主講:武俊琢多態(tài)性n在程序中同一符號(hào)或名字在不同情況
3、下具有不同解在程序中同一符號(hào)或名字在不同情況下具有不同解釋的現(xiàn)象稱為多態(tài)性。表現(xiàn)在兩方面:釋的現(xiàn)象稱為多態(tài)性。表現(xiàn)在兩方面:n方法的重載。方法的重載。n對(duì)象的上轉(zhuǎn)型對(duì)象。子類可以改寫(xiě)父類的方法,而對(duì)象的上轉(zhuǎn)型對(duì)象。子類可以改寫(xiě)父類的方法,而上轉(zhuǎn)型對(duì)象父類的對(duì)象可以調(diào)用改寫(xiě)后的方法。上轉(zhuǎn)型對(duì)象父類的對(duì)象可以調(diào)用改寫(xiě)后的方法。不同的子類可能改寫(xiě)的內(nèi)容不同。比如:動(dòng)物類中不同的子類可能改寫(xiě)的內(nèi)容不同。比如:動(dòng)物類中的的cry()方法,在子類方法,在子類“貓中可以改寫(xiě)為貓中可以改寫(xiě)為“喵喵喵喵”,而在子類而在子類“狗中可以改定為狗中可以改定為“汪汪汪汪”。貓類的和狗類。貓類的和狗類的上轉(zhuǎn)型對(duì)象在調(diào)用的
4、上轉(zhuǎn)型對(duì)象在調(diào)用cry()方法時(shí)是各不相同的。方法時(shí)是各不相同的。n(P70例例4.22)河南經(jīng)貿(mào)職業(yè)學(xué)院河南經(jīng)貿(mào)職業(yè)學(xué)院信息管理系信息管理系主講:武俊琢主講:武俊琢抽象方法與抽象類n用關(guān)鍵字用關(guān)鍵字abstract修飾的類就是抽象類。修飾的類就是抽象類。n沒(méi)有方法體的方法,且首部用關(guān)鍵字沒(méi)有方法體的方法,且首部用關(guān)鍵字abstract修飾,修飾,就是抽象方法。聲明抽象方法的格式:就是抽象方法。聲明抽象方法的格式:n 修飾符修飾符abstract 返回值類型返回值類型 方法名方法名(形參列形參列表表); public abstract class AAnimalpublic String na
5、me;public int age;public void print()System.out.println(名字名字:+name);System.out.println(大小大小:+age);public abstract void run();public abstract void cry();河南經(jīng)貿(mào)職業(yè)學(xué)院河南經(jīng)貿(mào)職業(yè)學(xué)院信息管理系信息管理系主講:武俊琢主講:武俊琢抽象方法與抽象類使用說(shuō)明(一)n含有抽象方法的類必須定義為抽象類。含有抽象方法的類必須定義為抽象類。public class AAnimal/錯(cuò)誤錯(cuò)誤public String name;public int age;p
6、ublic void print()System.out.println(名字名字:+name);System.out.println(大小大小:+age);public abstract void run();public abstract void cry();河南經(jīng)貿(mào)職業(yè)學(xué)院河南經(jīng)貿(mào)職業(yè)學(xué)院信息管理系信息管理系主講:武俊琢主講:武俊琢抽象方法與抽象類使用說(shuō)明(二)n不能由抽象類直接創(chuàng)建對(duì)象。它只能做為父類使用,由它不能由抽象類直接創(chuàng)建對(duì)象。它只能做為父類使用,由它派生的子類必須實(shí)現(xiàn)抽象類中所有的抽象方法,才能創(chuàng)建派生的子類必須實(shí)現(xiàn)抽象類中所有的抽象方法,才能創(chuàng)建對(duì)象。對(duì)象。n抽象方法的實(shí)
7、現(xiàn):子類重寫(xiě)父類的抽象方法,增加方法體,抽象方法的實(shí)現(xiàn):子類重寫(xiě)父類的抽象方法,增加方法體,使之成為一個(gè)非抽象方法??梢钥諏?shí)現(xiàn)。使之成為一個(gè)非抽象方法??梢钥諏?shí)現(xiàn)。class Testpublic static void main(Stringargs) AAnimal a; a=new AAnimal();/錯(cuò)誤錯(cuò)誤 河南經(jīng)貿(mào)職業(yè)學(xué)院河南經(jīng)貿(mào)職業(yè)學(xué)院信息管理系信息管理系主講:武俊琢主講:武俊琢class Dog extends AAnimalString type;public Dog()type=寵物狗寵物狗;public void run()public void cry()System
8、.out.println (汪汪叫汪汪叫);class Testpublic static void main(Stringargs) Dog a; a=new Dog(); =歡歡歡歡;a.age=2; a.print(); a.cry(); System.out.println (這是一只這是一只+a.type); 續(xù)河南經(jīng)貿(mào)職業(yè)學(xué)院河南經(jīng)貿(mào)職業(yè)學(xué)院信息管理系信息管理系主講:武俊琢主講:武俊琢抽象方法與抽象類使用說(shuō)明(三)n如果子類沒(méi)有實(shí)現(xiàn)抽象基類如果子類沒(méi)有實(shí)現(xiàn)抽象基類(父類父類)中所有的抽象方法,中所有的抽象方法,則子類也必須定義成一個(gè)抽象類。即:抽象的子類也必則子類也必須
9、定義成一個(gè)抽象類。即:抽象的子類也必須使用修飾符:須使用修飾符:abstractn可以將沒(méi)有任何抽象方法的類聲明為可以將沒(méi)有任何抽象方法的類聲明為abstract,避免由,避免由這個(gè)類直接創(chuàng)建任何的對(duì)象。這個(gè)類直接創(chuàng)建任何的對(duì)象。abstract class Dog extends AAnimalString type;public Dog()type=寵物狗寵物狗;/public void run() public void cry()System.out.println (汪汪叫汪汪叫);河南經(jīng)貿(mào)職業(yè)學(xué)院河南經(jīng)貿(mào)職業(yè)學(xué)院信息管理系信息管理系主講:武俊琢主講:武俊琢class Bird ex
10、tends AnimalClass/定義鳥(niǎo)類繼承動(dòng)物類定義鳥(niǎo)類繼承動(dòng)物類public Bird()/構(gòu)造方法初始化構(gòu)造方法初始化name=麻雀麻雀;age=3;public void run()/實(shí)現(xiàn)父類的抽象方法實(shí)現(xiàn)父類的抽象方法System.out.println(會(huì)飛會(huì)飛);public void cry()System.out.println (嘰嘰喳喳嘰嘰喳喳);創(chuàng)建鳥(niǎo)類對(duì)象:練習(xí)創(chuàng)建鳥(niǎo)類對(duì)象:練習(xí)鳥(niǎo)類河南經(jīng)貿(mào)職業(yè)學(xué)院河南經(jīng)貿(mào)職業(yè)學(xué)院信息管理系信息管理系主講:武俊琢主講:武俊琢P71例4.23抽象類:圖形,抽象方法抽象類:圖形,抽象方法求面積求面積(指出:圖形必須有求面積的方法,但因
11、為不同圖形求面積的指出:圖形必須有求面積的方法,但因?yàn)椴煌瑘D形求面積的方法不一樣,因此將此方法聲明為抽象方法方法不一樣,因此將此方法聲明為抽象方法)子類:梯形類,實(shí)現(xiàn)了抽象類中求面積的抽象方法。子類:梯形類,實(shí)現(xiàn)了抽象類中求面積的抽象方法。子類:圓,實(shí)現(xiàn)了抽象類中求面積的抽象方法。子類:圓,實(shí)現(xiàn)了抽象類中求面積的抽象方法。類:堆,求體積。類:堆,求體積。應(yīng)用程序類:創(chuàng)建梯形、圓、堆對(duì)象,分別進(jìn)行計(jì)算。應(yīng)用程序類:創(chuàng)建梯形、圓、堆對(duì)象,分別進(jìn)行計(jì)算。河南經(jīng)貿(mào)職業(yè)學(xué)院河南經(jīng)貿(mào)職業(yè)學(xué)院信息管理系信息管理系主講:武俊琢主講:武俊琢小結(jié)n用用abstract關(guān)鍵字來(lái)修飾一個(gè)類時(shí),這個(gè)類叫做抽關(guān)鍵字來(lái)修飾
12、一個(gè)類時(shí),這個(gè)類叫做抽象類;用象類;用abstract來(lái)修飾一個(gè)方法時(shí),該方法叫做來(lái)修飾一個(gè)方法時(shí),該方法叫做抽象方法。抽象方法。nabstract類必須被繼承,類必須被繼承,abstract方法必須被重寫(xiě)。方法必須被重寫(xiě)。n抽象類不能被實(shí)例化直接創(chuàng)建對(duì)象)。抽象類不能被實(shí)例化直接創(chuàng)建對(duì)象)。n抽象方法只需聲明,而不需實(shí)現(xiàn)無(wú)方法體)。抽象方法只需聲明,而不需實(shí)現(xiàn)無(wú)方法體)。河南經(jīng)貿(mào)職業(yè)學(xué)院河南經(jīng)貿(mào)職業(yè)學(xué)院信息管理系信息管理系主講:武俊琢主講:武俊琢作業(yè)作業(yè)一:作業(yè)一:P82習(xí)題習(xí)題1、2、3、4作業(yè)二:按以下要求編寫(xiě)程序作業(yè)二:按以下要求編寫(xiě)程序創(chuàng)建一個(gè)抽象的車類,包括各種車輛。至少包含一個(gè)抽
13、象方創(chuàng)建一個(gè)抽象的車類,包括各種車輛。至少包含一個(gè)抽象方法。成員變量:法。成員變量: 品牌、可載人數(shù)、輪子個(gè)數(shù)、能源等。抽象品牌、可載人數(shù)、輪子個(gè)數(shù)、能源等。抽象方法如:跑、加速、剎車等。方法如:跑、加速、剎車等。通過(guò)繼承車類重新聲明公共汽車類和普通自行車類。在子類通過(guò)繼承車類重新聲明公共汽車類和普通自行車類。在子類中實(shí)現(xiàn)父類中抽象方法中實(shí)現(xiàn)父類中抽象方法構(gòu)造方法對(duì)應(yīng)區(qū)分為公共汽車和普通自行車。子類的構(gòu)造方構(gòu)造方法對(duì)應(yīng)區(qū)分為公共汽車和普通自行車。子類的構(gòu)造方法中根據(jù)不同的類設(shè)置不同的默認(rèn)值,如汽車類可以默認(rèn)輪法中根據(jù)不同的類設(shè)置不同的默認(rèn)值,如汽車類可以默認(rèn)輪子個(gè)數(shù)是子個(gè)數(shù)是4個(gè),可載人數(shù)個(gè),
14、可載人數(shù)50個(gè),能源為汽油。個(gè),能源為汽油。河南經(jīng)貿(mào)職業(yè)學(xué)院河南經(jīng)貿(mào)職業(yè)學(xué)院信息管理系信息管理系主講:武俊琢主講:武俊琢技能訓(xùn)練七n訓(xùn)練目的訓(xùn)練目的n掌握抽象類與抽象方法的應(yīng)該技巧掌握抽象類與抽象方法的應(yīng)該技巧n實(shí)驗(yàn)要求:實(shí)驗(yàn)要求:n創(chuàng)建一個(gè)抽象的車類,包括各種車輛。至少包含創(chuàng)建一個(gè)抽象的車類,包括各種車輛。至少包含一個(gè)抽象方法。成員變量:一個(gè)抽象方法。成員變量: 品牌、可載人數(shù)、輪品牌、可載人數(shù)、輪子個(gè)數(shù)、能源等。抽象方法如:跑、加速、剎車子個(gè)數(shù)、能源等。抽象方法如:跑、加速、剎車等。等。n通過(guò)繼承車類重新聲明公共汽車類和普通自行車通過(guò)繼承車類重新聲明公共汽車類和普通自行車類。在子類中實(shí)現(xiàn)父類中抽象方法類。在子類中實(shí)現(xiàn)父類中抽象方法n構(gòu)造方法對(duì)應(yīng)區(qū)分為公共汽車和普通自行車。子構(gòu)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 陳老師說(shuō)教育數(shù)學(xué)試卷
- 番茄主要病蟲(chóng)害的危害及針對(duì)性綠色防控對(duì)策實(shí)施
- 貴州地區(qū)的油茶種植現(xiàn)狀及高產(chǎn)栽培技術(shù)的高效實(shí)施方案探討
- 2025年冷墩鋼項(xiàng)目發(fā)展計(jì)劃
- 中外文明交流史知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春牡丹江師范學(xué)院
- 2025年有機(jī)磷系阻燃劑合作協(xié)議書(shū)
- 2017-2018學(xué)年高中生物必修2課時(shí)訓(xùn)練第2章第1節(jié)第1課時(shí)減數(shù)分裂B
- 2025年金屬非切削、成形加工機(jī)械合作協(xié)議書(shū)
- 填浜工程施工方案
- 物理選修3-5教科版全套講義第三章原子核3-2
- 電氣基礎(chǔ)知識(shí)培訓(xùn)要點(diǎn)課件
- 洗浴中心轉(zhuǎn)讓合同(5篇)
- 外研版小學(xué)英語(yǔ)五年級(jí)下冊(cè)課文翻譯
- YY-T 1823-2022 心血管植入物 鎳鈦合金鎳離子釋放試驗(yàn)方法
- 年產(chǎn)12000噸水合肼(100%)項(xiàng)目環(huán)評(píng)報(bào)告書(shū)
- 鉆芯法檢測(cè)混凝土抗壓強(qiáng)度原始記錄1
- 液壓支架與泵站(第二版)課件匯總?cè)珪?shū)電子教案完整版課件最全幻燈片(最新)
- 分布式光伏電站支架結(jié)構(gòu)及荷載計(jì)算書(shū)
- DB61∕T 1186-2018 花椒主要病蟲(chóng)害防治技術(shù)規(guī)范
- DB32T 4013-2021 第三方社會(huì)穩(wěn)定風(fēng)險(xiǎn)評(píng)估技術(shù)規(guī)范
- QC成果提高大跨度多節(jié)點(diǎn)曲面鋼桁架一次安裝合格率
評(píng)論
0/150
提交評(píng)論