抽象類和抽象方法ppt課件_第1頁(yè)
抽象類和抽象方法ppt課件_第2頁(yè)
抽象類和抽象方法ppt課件_第3頁(yè)
抽象類和抽象方法ppt課件_第4頁(yè)
抽象類和抽象方法ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩9頁(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、河南經(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論