版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、會(huì)計(jì)學(xué)1Java基礎(chǔ)基礎(chǔ)(jch)多態(tài)多態(tài)第一頁,共31頁。第1頁/共31頁第二頁,共31頁。第2頁/共31頁第三頁,共31頁。第3頁/共31頁第四頁,共31頁。第4頁/共31頁第五頁,共31頁。 打針(d zhn) 吃肉 吃藥 泡溫泉 狗狗 Q仔 第5頁/共31頁第六頁,共31頁。第6頁/共31頁第七頁,共31頁。public class Master public void Cure(Dog dog) if (dog.getHealth() 50) dog.setHealth(60); System.out.println(打針(d zhn)、吃藥); public void Cure(P
2、enguin penguin) if (penguin.getHealth() 50) penguin.setHealth(70); System.out.println(吃藥、療養(yǎng)); 主人類 Master master = new Master();master.Cure(dog);master.Cure(penguin); 測試方法 第7頁/共31頁第八頁,共31頁。 使用(shyng)多態(tài)優(yōu)化設(shè)計(jì) 頻繁修改代碼,代碼可擴(kuò)展性、可維護(hù)性差 第8頁/共31頁第九頁,共31頁。 Pet pet = new Dog();Master master = new Master();master.C
3、ure(pet); 測試方法 public class Dog extends Pet public void toHospital() this.setHealth(60); System.out.println(打針(d zhn)、吃藥); public class Penguin extends Pet public void toHospital() this.setHealth(70); System.out.println(吃藥、療養(yǎng)); public class Master public void Cure(Pet pet) if (pet.getHealth() 50) pe
4、t.toHospital(); 主人類 Dog類 Penguin類 1234又要給XXX看病時(shí),只需:1. 編寫XXX類繼承Pet類(舊方案也需要)2. 創(chuàng)建XXX類對象(舊方案也需要) 3. 其他代碼不變(不用修改Master類)第9頁/共31頁第十頁,共31頁。多態(tài):相同的父類引用(ynyng),不同的子類實(shí)例,執(zhí)行相同的行為,產(chǎn)生不同的結(jié)果 父類引用,子類對象 同一種事物,由于條件不同,產(chǎn)生的結(jié)果也不同第10頁/共31頁第十一頁,共31頁。黑白打印機(jī) 彩色打印機(jī) 打印打印第11頁/共31頁第十二頁,共31頁。計(jì)算機(jī)可以(ky)連接各種打印機(jī) 無論連接何種打印機(jī)打印方法都相同 根據(jù)連接打印
5、機(jī)不同,效果也不同 第12頁/共31頁第十三頁,共31頁。 實(shí)現(xiàn)多態(tài)的兩個(gè)要素:1. 方法重寫 2. 使用(shyng)父類類型abstract class Printer() print(String str);class ColorPrinter () print(String str) System.out.println(輸出彩色的+str); class BlackPrinter () print(String str) System.out.println(輸出黑白的+str); public static void main(String args) Printer p = ne
6、w ColorPrinter(); p.print(); p = new BlackPrinter(); p.print();父類 子類 運(yùn)行 同一種操作方式,不同的操作對象 只能調(diào)用父類已經(jīng)定義的方法 第13頁/共31頁第十四頁,共31頁。 位位置置方法方法名名參數(shù)參數(shù)表表返回返回值值訪問修飾符訪問修飾符方法重寫方法重寫子類子類相同相同相同相同相同相同不能比父類更嚴(yán)不能比父類更嚴(yán)格格方法重載方法重載同類同類相同相同不同不同無關(guān)無關(guān)無關(guān)無關(guān) 方法(fngf)重寫 方法重載 VS第14頁/共31頁第十五頁,共31頁。對象(duxing) instanceof 類或接口/* * 測試(csh)in
7、stanceof運(yùn)算符的使用。 */public class TestPoly2 public static void main(String args) Pet pet = new Penguin(楠楠, Q妹); / Pet pet = new Dog(歐歐, 雪娜瑞); pet.eat(); if (pet instanceof Dog) Dog dog = (Dog) pet; dog.catchingFlyDisc(); else if (pet instanceof Penguin) Penguin pgn = (Penguin) pet; pgn.swimming(); /* *
8、 instanceof運(yùn)算符的使用(父轉(zhuǎn)子不安全) */public class TestPoly2 public static void main(String args) / Pet pet = new Penguin(楠楠, Q妹); Pet pet = new Dog(歐歐, 雪娜瑞); pet.eat(); if (pet instanceof Dog) Dog dog = (Dog) pet; dog.catchingFlyDisc(); else if (pet instanceof Penguin) Penguin pgn = (Penguin) pet; /父轉(zhuǎn)子不安全 pg
9、n.swimming(); 注釋創(chuàng)建Penguin 對象語句,取消創(chuàng)建Dog對象語句的注釋第15頁/共31頁第十六頁,共31頁。n常見調(diào)試問題及解決辦法常見調(diào)試問題及解決辦法n代碼代碼(di m)規(guī)范問題規(guī)范問題共性(gngxng)問題集中講解第16頁/共31頁第十七頁,共31頁。n主人可以喂養(yǎng)不同(b tn)類型寵物講解需求(xqi)說明第17頁/共31頁第十八頁,共31頁。public class Pet protected abstract void eat();public void feed (Pet pet) pet.eat();public class Dog extends P
10、et public void eat() super.health = super.health + 3; Pet類 Dog類 Master類 完成(wn chng)時(shí)間:25分鐘第18頁/共31頁第十九頁,共31頁。nPenguin類添加swimming()方法,實(shí)現(xiàn)游泳功能n主人添加play(Pet pet)方法n如果pet代表Dog就玩接飛盤游戲n如果pet代表Penguin就玩游泳游戲完成(wn chng)時(shí)間:25分鐘第19頁/共31頁第二十頁,共31頁。第20頁/共31頁第二十一頁,共31頁。n常見常見(chn jin)調(diào)試問題及解決辦法調(diào)試問題及解決辦法n代碼規(guī)范問題代碼規(guī)范問題
11、共性問題(wnt)集中講解第21頁/共31頁第二十二頁,共31頁。n1輛別克商務(wù)艙n1輛金龍(34)座n租5天共多少租金?講解需求(xqi)說明第22頁/共31頁第二十三頁,共31頁。完成(wn chng)時(shí)間:35分鐘MotoVehile motos = new MotoVehile4;motos0 = new Car(寶馬550i,京NY28588);motos1 = new Car(寶馬550i,京NNN328);motos2 = new Car(別克林蔭大道,京NY28588);motos3 = new Bus(金龍,34);1、創(chuàng)建車的對象,放在數(shù)組中 CalcTotalRent(M
12、otoVehile motos) double totalRent = 0.0D; for(int i=0;imotos.length;+i) totalRent += motosi.CalRent(5); return totalRent;2、循環(huán)調(diào)用CalcRent方法,計(jì)算總租金 第23頁/共31頁第二十四頁,共31頁。n常見調(diào)試問題常見調(diào)試問題(wnt)及解決辦法及解決辦法n代碼規(guī)范問題代碼規(guī)范問題(wnt)共性問題集中(jzhng)講解第24頁/共31頁第二十五頁,共31頁。第25頁/共31頁第二十六頁,共31頁。賃的總租金講解(jingji)需求說明第26頁/共31頁第二十七頁,共31頁。完成(wn chng)時(shí)間:30分鐘1、創(chuàng)建卡車類,實(shí)現(xiàn)CalcRent 2、修改統(tǒng)計(jì)租金代碼 提前做完的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度醫(yī)藥研發(fā)合作技術(shù)保密與市場獨(dú)占協(xié)議3篇
- 二零二五年度全球原油買賣居間代理協(xié)議3篇
- 大一新生的軍訓(xùn)心得
- 員工大會(huì)發(fā)言稿(15篇)
- 2024正規(guī)回遷房買賣合同協(xié)議書(含租賃權(quán))3篇
- 2024年項(xiàng)目經(jīng)理專業(yè)服務(wù)合同3篇
- 二零二五年度企業(yè)綜合網(wǎng)絡(luò)優(yōu)化升級合同3篇
- 2025版餐飲企業(yè)食品安全責(zé)任書3篇
- 員工寫給公司建議書
- 二零二五年度XX單位職工XX住房公積金貸款合同2篇
- 《業(yè)務(wù)員銷售技巧》課件
- 《汽車涂裝》2024-2025學(xué)年第一學(xué)期工學(xué)一體化課程教學(xué)進(jìn)度計(jì)劃表
- 水廠安全管理培訓(xùn)
- 江西省贛州市2023-2024學(xué)年高一上學(xué)期期末考試化學(xué)試題 附答案
- 消化道出血護(hù)理常規(guī)課件
- 期末卷(一)-2023-2024學(xué)年高一年級地理上學(xué)期高頻考題期末測試卷(江蘇專用)(原卷版)
- 山東師范大學(xué)《古代文學(xué)專題(一)》期末復(fù)習(xí)題
- 注塑操作員作業(yè)指導(dǎo)書
- 水土保持常用監(jiān)測手段及方法
- 片石擋土墻砌筑施工方案及工藝方法
- 分析刑法中認(rèn)識因素和意志因素的關(guān)系
評論
0/150
提交評論