第七章面向?qū)ο骭第1頁
第七章面向?qū)ο骭第2頁
第七章面向?qū)ο骭第3頁
第七章面向?qū)ο骭第4頁
第七章面向?qū)ο骭第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、Java語言基礎第七章 面向?qū)ο?static關鍵字 封裝 繼承 extends 方法重寫 super關鍵字上章內(nèi)容 多態(tài) 向上轉型 向下轉型 抽象類 abstract關鍵字 final關鍵字 接口本章內(nèi)容 什么是多態(tài)(重寫 重載)(向上轉型、向下轉型) 多態(tài)顧名思義即為多種形態(tài)的意思Java中多態(tài)的含義 發(fā)送消息給某個對象,讓這個對象自行決定采用哪種行為響應這個消息 子類對象的引用賦值給父類引用變量來實現(xiàn)動態(tài)的方法調(diào)用 Java中形成多態(tài)的前提 繼承 重寫 向上轉型多態(tài)的概念多態(tài)的應用 動物園有這些動物:狗、兔子等,飼養(yǎng)員每天都會給這些動物喂食,狗喜歡吃骨頭、而兔子喜歡吃胡蘿卜,通過Java

2、程序模擬飼養(yǎng)員喂食 參考代碼: ./案例/Animal.java ./案例/Food.java ./案例/Rabbit.java、Dog.java ./案例/Carrot.java、Bone.java多態(tài)的應用 提高代碼的可重用性 降低模塊之間的耦合度多態(tài)的作用 形狀類Shape需要提供用于計算面積和周長的方法,但是形狀本身沒有被確定,那么計算周長和面積的方法就無法確定,此時我們就需要使用抽象類和抽象方法。 由于Shape類計算周長和面積的方法無法確定,那么就可以將這樣的方法聲明為抽象的,以便在具體的子類中進行實現(xiàn)。 抽象方法的聲明 修飾符 abstract 返回值類型 方法名(參數(shù)列表);

3、注意:因為抽象方法無法確定具體執(zhí)行的功能,所有抽象方法沒有方法體,需要在小括號后加上分號抽象類和抽象方法抽象方法 如果一個類的某些功能比較抽象或者無法在本類中具體實現(xiàn),可以將這個類聲明為抽象的,那么這些抽象或者無法具體實現(xiàn)的功能可以在子類中完成。 抽象類的語法 修飾符 abstract class 類名 extends 父類名類體 抽象類和普通類除了使用abstract修飾外和普通的類相似 抽象類中可以沒有抽象方法 但是一旦某個有抽象方法,那么這個類必須被聲明為抽象類抽象類抽象類 因為抽象類不是一個具體的類,所以無法實例化,但是抽象類可以用于聲明對象抽象類 抽象類可以被繼承,在子類中實現(xiàn)抽象類

4、的所有抽象方法,以達到抽象類的具體化抽象類 具體化后的子類方法就可以用來創(chuàng)建對象了抽象類final關鍵字1、在實例變量和局部變量前加上final,那么這個變量或者方法只能被引用,不能修改,同時要給這個變量初始值。 例如: public final double PI = 3.14;2、在方法前加上final,這個方法在子類中,不能重寫,成為終級方法終極方法仍可以被繼承,但不能被覆蓋(重寫),可以重載 3、在一個類前面加上final,意味著,這個類不能被繼承,變?yōu)榻K極類,終極類中的方法自然就變?yōu)榱私K極方法 在軟件工程中,經(jīng)常將一個大的項目分由不同的開發(fā)小組共同開發(fā),各個小組的開發(fā)工作是并行的。在

5、很多時候,對于不同小組的程序員來說,清楚地說明各自的軟件如何相互作用,并就此達成統(tǒng)一“約定”是很重要的。這種情況下,每一小組都可以在對其他小組怎么編寫代碼一無所知的情況下,就能編寫自己的代碼,并且各自小組編寫的代碼能很好的協(xié)同工作。接口就是這樣的“約定”。接口 在Java中接口不僅僅是程序開發(fā)過程中“約定”,更是更加抽象化的抽象類 接口的定義 修飾符 interface 接口名常量;抽象方法;接口的定義 接口的實現(xiàn) 定義類時通過implements關鍵字實現(xiàn)接口 接口實現(xiàn)的語法 修飾符 class 類名 extends 父類名 implements 接口1,接口2,類體部分接口的實現(xiàn) 一個類可

6、以實現(xiàn)多個接口,從而解決了Java單繼承的缺點。接口的實現(xiàn) 在Java中類之間的繼承關系是單繼承,也就是說一個類有且只能有一個父類。 而Java中的接口實現(xiàn)了多繼承,也就是說一個接口可以有多個父接口接口的繼承 提高程序的重用性 提高程序的可擴展性 降低程序的耦合度 實現(xiàn)了多繼承接口的作用 實現(xiàn)多繼承接口的作用 實現(xiàn)了多繼承接口的作用 降低程序耦合度接口的作用 降低耦合度接口的作用 多態(tài) 抽象類 abstract關鍵字 final 關鍵字 接口 interface關鍵字 implements關鍵字本章總結 作業(yè)一 設計一個臺燈類Lamp其中臺燈有燈泡這個屬性,還有開燈(on)這個方法,設計一個燈

7、泡類 其中有紅燈泡(RedBuble) 和綠燈泡(GreenBuble) 他們都有一個發(fā)亮的方法,請設計出一段代碼可以使臺燈開啟燈泡發(fā)亮,并且保證替換不同種類的燈泡臺燈類代碼不被修改。 作業(yè)二: 設計一個繼承關系其中存在動物類Animal、狗類Dog和貓類Cat,對于貓類和狗類都有一個吃eat方法,但是貓和狗的吃eat方法的實現(xiàn)不同,請合理的設計出Animal Dog Cat這3個類關系作業(yè) 作業(yè)三: 設計一個形狀類(接口)Shape,方法:求周長和求面積 形狀類(接口)的子類(實現(xiàn)類):Rect(矩形),Circle(圓形) Rect類的子類:Square(正方形) 不同的子類會有不同的計算

8、周長和面積的方法 創(chuàng)建三個不同的形狀對象,放在Shape類型的數(shù)組里,分別打印出每個對象的周長和面積作業(yè) 作業(yè)四: 某公司的雇員分為以下若干類: Employee:這是所有員工總的父類,屬性:員工的姓名,員工的生日月份。方法:getSalary(int month) 根據(jù)參數(shù)月份來確定工資,如果該月員工過生日,則公司會額外獎勵100元。 SalariedEmployee:Employee的子類,拿固定工資的員工。屬性:月薪 HourlyEmployee:Employee的子類,按小時拿工資的員工,每月工作超出160小時的部分按照1.5倍工資發(fā)放。屬性:每小時的工資、每月工作的小時數(shù) SalesEmployee:Employee的子類,銷售人員,工資由月銷售額和提成率決定。屬性:月銷售額、提成率 BasePlusSalesEmployee:S

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論