版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、面向?qū)ο蟪绦蛟O(shè)計(jì)面向?qū)ο蟪绦蛟O(shè)計(jì)與系統(tǒng)開發(fā)與系統(tǒng)開發(fā)第3章 面向?qū)ο笤O(shè)計(jì)思想 2驅(qū)動(dòng)驅(qū)動(dòng)任務(wù)一任務(wù)一 創(chuàng)建一個(gè)抽象類animal,它包含一個(gè)abstract的sound()方法;派生一個(gè)子類dog,實(shí)現(xiàn)父類抽象方法sound();創(chuàng)建子類dog對(duì)象,然后調(diào)用它的sound()方法。3目標(biāo)及知識(shí)點(diǎn)目標(biāo)及知識(shí)點(diǎn)定義和使用抽象類定義和使用抽象類2final關(guān)關(guān)鍵鍵字的使用字的使用3抽象類的概念抽象類的概念1 14抽象類抽象類 如果一個(gè)類中沒有包含足夠的信息來描繪一個(gè)具如果一個(gè)類中沒有包含足夠的信息來描繪一個(gè)具體的對(duì)象,這樣的類就是抽象類體的對(duì)象,這樣的類就是抽象類 定義一個(gè)抽象類的格式如下 abst
2、ract class abstractclassnamepublic abstract class shapepublic abstract double area();/抽象方法抽象方法public abstract double volume();/抽象方法抽象方法 當(dāng)一個(gè)類被定義成當(dāng)一個(gè)類被定義成abstract類時(shí),表示一個(gè)抽象的概念,它不能用類時(shí),表示一個(gè)抽象的概念,它不能用new關(guān)鍵字關(guān)鍵字實(shí)例化對(duì)象,例如上面定義的實(shí)例化對(duì)象,例如上面定義的shape類就是一個(gè)抽象類,只有被繼承并在子類類就是一個(gè)抽象類,只有被繼承并在子類中重寫其抽象方法,它才有意義。中重寫其抽象方法,它才有意義。
3、 5【例例3-1】 v 定義一個(gè)代表形狀的抽象類,并派生出圓柱體類和長(zhǎng)方體類,計(jì)算底面半徑為2高為3的圓柱體體積和長(zhǎng)、寬、高分別為3、2、4的長(zhǎng)方體體積。 /定定義義一個(gè)形狀抽象一個(gè)形狀抽象類類abstract class shapedouble radius,length,width,height;abstract double vol();/求體求體積積的抽象方法的抽象方法shape(double r,double h)/對(duì)半徑和高進(jìn)行初始化的構(gòu)造方法對(duì)半徑和高進(jìn)行初始化的構(gòu)造方法radius = r;height = h;shape(double l,double w,double h)
4、/對(duì)長(zhǎng)寬高進(jìn)行初始化的構(gòu)造方法對(duì)長(zhǎng)寬高進(jìn)行初始化的構(gòu)造方法length = l;width = w;height = h;/*圓圓柱體柱體類類*/class circle extends shapecircle(double r,double h)super(r,h);double vol()/重寫父重寫父類類抽象方法抽象方法return(3.1416*radius*radius*height); /*長(zhǎng)長(zhǎng)方體方體類類*/class rectangle extends shaperectangle(double l,double w,double h)super(l,w,h);double v
5、ol()/重寫父重寫父類類抽象方法抽象方法return (length*width*height);/*主主類類*/public class abstractclassdemo public static void main(string args) circle c = new circle(2,3); rectangle r = new rectangle(3,2,4); system.out.println(圓圓柱體體柱體體積積 = + c.vol(); system.out.println(長(zhǎng)長(zhǎng)方體體方體體積積 = + r.vol();結(jié)結(jié)果:果:圓柱體體積圓柱體體積37.6992長(zhǎng)方
6、體體積長(zhǎng)方體體積24.0【 【思考思考】 】abstract修修飾飾的的類類一定有一定有abstract修修飾飾的方法的方法嗎嗎?java面向?qū)ο筌浖_發(fā)6最終類-final類 有一種類是不能派生出子類的,我們叫這種類為最有一種類是不能派生出子類的,我們叫這種類為最終類。即我們用終類。即我們用final來修飾的類。來修飾的類。public final class test1 java面向?qū)ο筌浖_發(fā)7最終類-final類 如果一個(gè)類不允許其子類覆蓋某個(gè)方法,則可以把這個(gè)如果一個(gè)類不允許其子類覆蓋某個(gè)方法,則可以把這個(gè)方法聲明為方法聲明為final方法方法 public final void f
7、2() system.out.println(f2);java面向?qū)ο筌浖_發(fā)8【例例3-2】 使用使用final方法的例子方法的例子class test1 public void f1() system.out.println(f1);/ 無法被子無法被子類類覆蓋的方法覆蓋的方法public final void f2() system.out.println(f2);public class test2 extends test1public void f1() system.out.println(test1父父類類方法方法f1被覆蓋被覆蓋!);public static void ma
8、in(string args) test2 t = new test2();t.f1();t.f2(); / 調(diào)調(diào)用從父用從父類繼類繼承承過過來的來的final方法方法結(jié)結(jié)果:果:test1父父類類方法方法f1被覆蓋被覆蓋!f29任務(wù)實(shí)現(xiàn)任務(wù)實(shí)現(xiàn)123分析類及關(guān)系分析類及關(guān)系 定義抽象類定義抽象類animal dog類類利用構(gòu)造方法利用構(gòu)造方法為為type屬性屬性賦值賦值 45dog類實(shí)現(xiàn)類實(shí)現(xiàn)animal的的sound() main方法方法進(jìn)進(jìn)行行測(cè)試測(cè)試 10驅(qū)動(dòng)驅(qū)動(dòng)任務(wù)任務(wù)二二 有一個(gè)接口addimp規(guī)定了有求和的方法sum();另外一個(gè)subimp接口規(guī)定了有減法運(yùn)算的方法subtra
9、ct();再聲明一個(gè)接口calculatable繼承于以上兩個(gè)接口。創(chuàng)建calculator類實(shí)現(xiàn)接口calculatable,并生成對(duì)象測(cè)試該對(duì)象的加減功能。11目標(biāo)及知識(shí)點(diǎn)目標(biāo)及知識(shí)點(diǎn)接口的實(shí)現(xiàn)接口的實(shí)現(xiàn) 2接口的繼承接口的繼承 3多接口多接口4接口的定義接口的定義1 112接口的定義接口的定義在java語言中,用關(guān)鍵字interface來定義接口。接口與類有相似的結(jié)構(gòu),其定義格式如下:修修飾飾符符 interface 接口名接口名 extends父接口名父接口名/接口體接口體 13接口的定義接口的定義例例3-3interface objectarea double pi =3.14; d
10、ouble area(double r); 注意:注意:接口和普通類不一樣的是它的方法默認(rèn)是抽象和公共的,接口和普通類不一樣的是它的方法默認(rèn)是抽象和公共的,屬性默認(rèn)是常量,靜態(tài)的和公共的屬性默認(rèn)是常量,靜態(tài)的和公共的14接口的實(shí)現(xiàn)接口的實(shí)現(xiàn) 若一個(gè)類想統(tǒng)一在某個(gè)接口的規(guī)范下,想具有這個(gè)接口的”身份”,就需要實(shí)現(xiàn)這個(gè)接口。格式如下:class 類類名名 implements 接口名接口名接口的實(shí)現(xiàn)接口的實(shí)現(xiàn)15例例3-4class circle implements objectareapublic double area(double r)/重寫重寫return pi*r*r;注意:注意:若實(shí)
11、現(xiàn)接口的類不是抽象類,則該類必須實(shí)現(xiàn)指定接口的若實(shí)現(xiàn)接口的類不是抽象類,則該類必須實(shí)現(xiàn)指定接口的所有抽象方法。方法頭部應(yīng)該與接口中的定義完全一致,即所有抽象方法。方法頭部應(yīng)該與接口中的定義完全一致,即有完全相同的方法名、參數(shù)表和返回值。有完全相同的方法名、參數(shù)表和返回值。16接口繼承接口繼承 接口也可以通過關(guān)鍵字extends繼承其他接口。子接口將繼承父接口中所有的常量和抽象方法。interface 接口名接口名 extends 接口名接口名 接口繼承接口繼承17例例3-5:interface astring a = 接口接口a中常量中常量;void showa(); interface b
12、extends astring b = 接口接口b中常量中常量;void showb();interface c extends bstring c = 接口接口c中常量中常量;void showc(); class interfaceabc implements cpublic void showa()/重寫重寫a接口中的方法接口中的方法system.out.println(a);public void showb()/重寫重寫b接口中的方法接口中的方法system.out.println(b);public void showc()/重寫重寫c接口中的方法接口中的方法system.out.println(c);實(shí)現(xiàn)多接口18一個(gè)一個(gè)類類可以同可以同時(shí)實(shí)現(xiàn)時(shí)實(shí)現(xiàn)多個(gè)接口,接口名之多個(gè)接口,接口名之間間用逗號(hào)用逗號(hào)間間隔。隔。例例3-6:interface a void meth1(); interface b void meth2();class myclass implements a,b public void meth1() system.out.print
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年綠色能源開發(fā)與利用合同
- 2024酒店管理星級(jí)酒店物業(yè)管理合同
- 2024石材石材勞務(wù)派遣與職業(yè)培訓(xùn)合同2篇
- 2024年租賃物業(yè)延期協(xié)議3篇
- 2024年購(gòu)銷協(xié)議與購(gòu)貨合同的異同
- 2024年食材配送外包協(xié)議2篇
- 2024幼兒園教師藝術(shù)教育項(xiàng)目合作協(xié)議3篇
- 2024年度科技型企業(yè)核心團(tuán)隊(duì)股權(quán)限制性授予協(xié)議書3篇
- 2024年道路照明設(shè)備安裝及維護(hù)承包協(xié)議版B版
- 2024年網(wǎng)絡(luò)安全保障與合規(guī)檢查合同
- 2025湖北襄陽市12345政府熱線話務(wù)員招聘5人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 血細(xì)胞分析報(bào)告規(guī)范化指南2020
- ISO 56001-2024《創(chuàng)新管理體系-要求》專業(yè)解讀與應(yīng)用實(shí)踐指導(dǎo)材料之7:“5領(lǐng)導(dǎo)作用-5.1領(lǐng)導(dǎo)作用和承諾”(雷澤佳編制-2025B0)
- 2024年快速消費(fèi)品物流配送合同6篇
- 廣東省茂名市2024屆高三上學(xué)期第一次綜合測(cè)試(一模)歷史 含解析
- 神經(jīng)重癥氣管切開患者氣道功能康復(fù)與管理學(xué)習(xí)與臨床應(yīng)用
- 第5章 一元一次方程大單元整體設(shè)計(jì) 北師大版(2024)數(shù)學(xué)七年級(jí)上冊(cè)教學(xué)課件
- 人教版高一地理必修一期末試卷
- 遼寧省錦州市(2024年-2025年小學(xué)六年級(jí)語文)部編版期末考試(上學(xué)期)試卷及答案
- 2024年下半年鄂州市城市發(fā)展投資控股集團(tuán)限公司社會(huì)招聘【27人】易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- GB/T 29498-2024木門窗通用技術(shù)要求
評(píng)論
0/150
提交評(píng)論