版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、會(huì)計(jì)學(xué)1 利用已有成果繼承與多態(tài)利用已有成果繼承與多態(tài) 1、直接改動(dòng)源代碼,使之實(shí)現(xiàn)新的功能、直接改動(dòng)源代碼,使之實(shí)現(xiàn)新的功能 2、復(fù)制原有代碼,對(duì)復(fù)制的代碼進(jìn)行改動(dòng)、復(fù)制原有代碼,對(duì)復(fù)制的代碼進(jìn)行改動(dòng) 第1頁/共58頁 一、修改過程中很容易產(chǎn)生一些新的錯(cuò)誤,導(dǎo)致原有一、修改過程中很容易產(chǎn)生一些新的錯(cuò)誤,導(dǎo)致原有 程序運(yùn)行不正確;程序運(yùn)行不正確; 二、復(fù)制代碼的時(shí)候可能產(chǎn)生錯(cuò)誤,而且使程序的二、復(fù)制代碼的時(shí)候可能產(chǎn)生錯(cuò)誤,而且使程序的 可移植性可移植性和和重用性重用性變差。變差。 第2頁/共58頁 在程序中定義類的時(shí)候,如果發(fā)現(xiàn)它的某些成員在程序中定義類的時(shí)候,如果發(fā)現(xiàn)它的某些成員 (變量及方
2、法)已經(jīng)在另一個(gè)類中定義過了,(變量及方法)已經(jīng)在另一個(gè)類中定義過了, 如果再定義就顯得累贅。如果再定義就顯得累贅。 第3頁/共58頁 父類父類 子類子類 繼承 extends 5.1繼承繼承 第4頁/共58頁 中的Object類。 5.1繼承繼承 第5頁/共58頁 5.1繼承繼承 關(guān)于改寫父類方法與子類個(gè)性化定義關(guān)于改寫父類方法與子類個(gè)性化定義 能繼承?不能繼承?不 能繼承?能繼承? 第6頁/共58頁 學(xué)生 小學(xué)生中學(xué)生大學(xué)生 研究生本科生 在在學(xué)生學(xué)生類中定義好各類類中定義好各類 學(xué)生共性的內(nèi)容,各子類學(xué)生共性的內(nèi)容,各子類 中只需定義自己特有的內(nèi)中只需定義自己特有的內(nèi) 容。容。 父類父類
3、學(xué)生學(xué)生類實(shí)際上是對(duì)類實(shí)際上是對(duì) 各類學(xué)生的概括和抽象。各類學(xué)生的概括和抽象。 第7頁/共58頁 圖形 三維圖形二維圖形 園形三角形矩形 正方形 圓錐體球體立方體 第8頁/共58頁 第9頁/共58頁 第10頁/共58頁 第11頁/共58頁 第12頁/共58頁 n 第13頁/共58頁 方法: accelerate() 屬性: color speed Vehicle類類 方法: accelerate() decelerate() 屬性: color speed fuelConsum Automobile類類 第14頁/共58頁 第15頁/共58頁 方法: accelerate() 屬性: colo
4、r speed Vehicle類類 方法: accelerate() decelerate() 屬性: color speed fuelConsum Automobile類類 方法: accelerate() decelerate() 屬性: color speed fuelConsum price Car類類 Vehicle類、類、Automobile類及類及Car類的屬性及方法:類的屬性及方法: 第16頁/共58頁 不就多寫幾行不就多寫幾行 代碼嘛,弄個(gè)代碼嘛,弄個(gè) 啥繼承?啥繼承?/example1 class ClassA int doThis() int doThat() 第17頁/
5、共58頁 /example2 class ClassB classA a = new ClassA(); int doThis() return a.doThis(); int doThat() return a.doThis(); /example1 class ClassA int doThis() int doThat() 第18頁/共58頁 /example1 class Person String name; int age; /example1 class Student String name; int age; String dept; 第19頁/共58頁 /example2
6、class Person String name; int age; class Student extends Person String dept; 第20頁/共58頁 注意:注意:1.子類此時(shí)將有子類此時(shí)將有兩個(gè)同名屬性兩個(gè)同名屬性,一個(gè)是繼承自父類的,一個(gè)是繼承自父類的, 一個(gè)是自定義的一個(gè)是自定義的 2.當(dāng)子類當(dāng)子類執(zhí)行繼承自父類的方法執(zhí)行繼承自父類的方法時(shí),時(shí),處理的是繼承自父類的屬性處理的是繼承自父類的屬性 3.當(dāng)子類當(dāng)子類執(zhí)行自定義的方法執(zhí)行自定義的方法時(shí),時(shí),處理的是自定義的屬性處理的是自定義的屬性 4.可以使用關(guān)鍵字可以使用關(guān)鍵字super來實(shí)現(xiàn)父類屬性的直接應(yīng)用來實(shí)現(xiàn)父類
7、屬性的直接應(yīng)用 第21頁/共58頁 1. 屬性的繼承之屬性的覆蓋屬性的繼承之屬性的覆蓋 public class Father int a = 100; public void miner() a-; public static void main(String args) Father x = new Father(); Son y = new Son(); System.out.println(a of son is: + y.a); System.out.println(a of sons super is: + y.getA(); y.miner(); System.out.print
8、ln(a of son is : + y.a); System.out.println(a of sons super is: + y.getA(); 第22頁/共58頁 class Son extends Father int a = 1; public void plus() a+; public int getA() return super.a; 1. 屬性的繼承之屬性的覆蓋屬性的繼承之屬性的覆蓋 第23頁/共58頁 5)覆蓋方法不能使用比被覆蓋方法更嚴(yán)格的 訪問權(quán)限。 第24頁/共58頁 2. 方法的繼承之重載與覆蓋方法的繼承之重載與覆蓋 第25頁/共58頁 2. 方法的繼承例方法的
9、繼承例 第26頁/共58頁 2. 方法的繼承例方法的繼承例 public class Student extends Person protected String dept; public static void main(String args) Person p = new Person(); p.set(Richard, 23); p.print(); Student s = new Student(); s.set(Drodan, 34); s.dept = computer; s.print(); 第27頁/共58頁 2. 方法的繼承之方法的繼承之final class Fathe
10、r public final void mathod() System.out.print(the fathers mathod); 第28頁/共58頁 class Son extends Father public void mathod(int i)/如果沒有形參如果沒有形參i,就和,就和 /父類方法相同父類方法相同 super.mathod(); System.out.println(the sons mathod+i); 2. 方法的繼承之方法的繼承之final 第29頁/共58頁 2. 方法的繼承之方法的繼承之構(gòu)造函數(shù)構(gòu)造函數(shù) 第30頁/共58頁 2. 方法的繼承之方法的繼承之構(gòu)造函
11、數(shù)構(gòu)造函數(shù) 當(dāng)所有構(gòu)造函數(shù)都需要把某當(dāng)所有構(gòu)造函數(shù)都需要把某 一變量都賦于相同值時(shí)一變量都賦于相同值時(shí) 第31頁/共58頁 2. 方法的繼承之方法的繼承之構(gòu)造函數(shù)構(gòu)造函數(shù) class Person String name; int age; Person(String n) name = n; Person(String n,int a) this(n); /調(diào)用第一個(gè)構(gòu)造函數(shù)調(diào)用第一個(gè)構(gòu)造函數(shù) age = a; 第32頁/共58頁 2. 方法的繼承之方法的繼承之構(gòu)造函數(shù)構(gòu)造函數(shù) class Student extends Person int sid; Student(String n,in
12、t a,int id) super(n,a); /必須是第一條語句必須是第一條語句 sid = id; 第33頁/共58頁 2. 方法的繼承之方法的繼承之構(gòu)造函數(shù)構(gòu)造函數(shù) 第34頁/共58頁 2. 方法的繼承之方法的繼承之構(gòu)造函數(shù)構(gòu)造函數(shù) class Father Father() System.out.println(這是父類的構(gòu)造函數(shù)這是父類的構(gòu)造函數(shù)); public class Son extends Father public static void main(String s) Son a = new Son(); 第35頁/共58頁 2. 方法的繼承之方法的繼承之構(gòu)造函數(shù)構(gòu)造函數(shù)
13、 public class Son extends Father Son() System.out.println(這是子類的構(gòu)造函數(shù)這是子類的構(gòu)造函數(shù) ); public static void main(String s) Son a = new Son(); 第36頁/共58頁 2. 方法的繼承之方法的繼承之構(gòu)造函數(shù)構(gòu)造函數(shù) class Father Father() System.out.println(這是父類的構(gòu)造函數(shù)這是父類的構(gòu)造函數(shù)); Father(int a) System.out.println(這是父類的構(gòu)造函數(shù)這是父類的構(gòu)造函數(shù) +a); 第37頁/共58頁 2. 方
14、法的繼承之方法的繼承之構(gòu)造函數(shù)構(gòu)造函數(shù) public class Son extends Father Son() super(2); System.out.println(這是子類的構(gòu)造函數(shù)這是子類的構(gòu)造函數(shù)); public static void main(String s) Son a = new Son(); 第38頁/共58頁 2. 方法的繼承之方法的繼承之綜合實(shí)例綜合實(shí)例 class Father private String s = Father; public void append(String a)s += a; /字符串相加再賦予原串字符串相加再賦予原串 public
15、void dilute() append( dilute(); public void apply() append( apply(); public void scrub() append( scrub(); public void print() System.out.println(s); 第39頁/共58頁 public class Son extends Father public void scrub() /覆蓋父類的方法覆蓋父類的方法 append( Son.scrub(); super.scrub(); public void foam() /自己定義的方法自己定義的方法 ap
16、pend( foam(); public static void main(String args) Son x = new Son(); System.out.println(sub class has:); x.dilute(); x.apply(); x.scrub(); x.foam(); x.print(); 第40頁/共58頁 1.由由final修飾的類是最終類,修飾的類是最終類,不能被繼承不能被繼承, 該類處于繼承樹的葉子,不能再有子類該類處于繼承樹的葉子,不能再有子類 2.一個(gè)類被聲明為一個(gè)類被聲明為final類,則其所有方法類,則其所有方法 都默認(rèn)為都默認(rèn)為final型型,不
17、包括變量,不包括變量 第41頁/共58頁 public class Son extends Father public static void main(String s) Son a = new Son(); final class Father /final不能被繼承不能被繼承 第42頁/共58頁 第43頁/共58頁 第44頁/共58頁 1.多態(tài)之多態(tài)之覆蓋覆蓋 public class A public String toString() return “類名類名A”; public class B extend A public String toString() return “類名類名B”; 第45頁/共58頁 2.多態(tài)之多態(tài)之重載重載 class Compute public calNum(int a,int b) public calNum(float a,float b) public calNum(double a,double b) 第46頁/共58頁 第47頁/共58頁 第48頁/共58頁 第49頁/共58頁 第50頁/共58頁 cla
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療器械 合作協(xié)議
- 觀光旅游情侶船合作協(xié)議
- 2025年四川雅安市棧道商務(wù)信息咨詢有限責(zé)任公司招聘筆試參考題庫附帶答案詳解
- 2025年甘肅天??h農(nóng)業(yè)產(chǎn)業(yè)扶貧開發(fā)有限責(zé)任公司招聘筆試參考題庫附帶答案詳解
- 2025版新能源車輛運(yùn)輸及售后服務(wù)合同3篇
- 2025年度店面出租合同風(fēng)險(xiǎn)評(píng)估與預(yù)防措施2篇
- 2025年度個(gè)人債權(quán)擔(dān)保合同參考文本4篇
- 2025年度個(gè)人沿街店房租賃合同(含租賃期限調(diào)整與續(xù)約流程)3篇
- 2025版建筑水電安裝工程補(bǔ)充協(xié)議書3篇
- 2025年度住宅小區(qū)公共區(qū)域裝修改造合同
- 江蘇中國中煤能源集團(tuán)有限公司江蘇分公司2025屆高校畢業(yè)生第二次招聘6人筆試歷年參考題庫附帶答案詳解
- 【語文】第23課《“蛟龍”探?!氛n件 2024-2025學(xué)年統(tǒng)編版語文七年級(jí)下冊(cè)
- 北師版七年級(jí)數(shù)學(xué)下冊(cè)第二章測試題及答案
- 加強(qiáng)教師隊(duì)伍建設(shè)教師領(lǐng)域?qū)W習(xí)二十屆三中全會(huì)精神專題課
- 2025警察公安派出所年終總結(jié)工作匯報(bào)
- 2024-2025學(xué)年人教版數(shù)學(xué)七年級(jí)上冊(cè)期末復(fù)習(xí)卷(含答案)
- 2025年慢性阻塞性肺疾病全球創(chuàng)議GOLD指南修訂解讀課件
- 新版人教版高中英語選修一、選修二詞匯表
- 2022年河北邯鄲世紀(jì)建設(shè)投資集團(tuán)有限公司招聘筆試試題及答案解析
- 住院患者跌倒墜床質(zhì)量控制管理考核標(biāo)準(zhǔn)
- 收取執(zhí)行款銀行賬戶確認(rèn)書
評(píng)論
0/150
提交評(píng)論