




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
抽象類和接口學(xué)完本次課程后,你能夠:了解抽象類和普通類的區(qū)別會使用抽象類會定義抽象方法會定義接口了解抽象類和接口的區(qū)別了解面向?qū)ο笤O(shè)計原則本課目標(biāo)2/30
抽象類與抽象方法2-1回顧如下代碼
但可以創(chuàng)建一個引用變量,其類型是一個抽象類,指向非抽
象的子類實例
普通類可以被實例化抽象方法VS普通方法
有無方法體
publicabstract
class
Pet
{
public
abstract
void
toHospital()
;
}抽象類VS普通類
抽象類不能被實例化
抽象類
抽象方法想一想:Why?3/30抽象類與抽象方法2-2抽象類與抽象方法的使用抽象類中可以沒有抽象方法,但包含了抽象方法的類必須被定義為抽象類如果子類沒有實現(xiàn)父類的所有抽象方法,子類必須被定義為抽象類沒有抽象構(gòu)造方法,也沒有抽象靜態(tài)方法抽象類中可以有非抽象的構(gòu)造方法,創(chuàng)建子類的實例時可能調(diào)用演示示例:抽象類與抽象方法的使用4/30要求實現(xiàn)防盜門的功能為什么使用接口分析門有“開”和“關(guān)”的功能,鎖有“上鎖”和“開鎖”的功能將門和鎖分別定義為抽象類防盜門可以繼承門的同時又繼承鎖嗎?如何解決這個問題呢?問題5/30要求實現(xiàn)防盜門的功能為什么使用接口分析門有“開”和“關(guān)”的功能,鎖有“上鎖”和“開鎖”的功能將門定義為抽象類,鎖定義為接口防盜門繼承門,實現(xiàn)鎖的接口問題6/30實現(xiàn)類必須實現(xiàn)接口的所有方法,除非是抽象類實現(xiàn)類可以實現(xiàn)多個接口
implements、多個接口使用逗號隔開接口中的變量都是靜態(tài)常量(public
static
final)
什么是接口認(rèn)識一下接口
public
interface
MyInterface
{
public
void
foo();
//其他方法
}必須知道的接口特性
接口不可以被實例化Java中的多繼承所有方法默認(rèn)都是:public
abstract
常作為類型使用7/30用程序描述USB接口如何使用接口問題8/30如何使用接口USB接口本身沒有實現(xiàn)任何功能
USB接口規(guī)定了數(shù)據(jù)傳輸?shù)囊?/p>
USB接口可以被多種USB設(shè)備實現(xiàn)可以使用Java接口來實現(xiàn)編寫USB接口實現(xiàn)USB接口使用USB接口
根據(jù)需求設(shè)計方法實現(xiàn)所有方法
用多態(tài)的方式使用分析演示示例:USB接口9/30防盜門是一個門防盜門有一個鎖上鎖開鎖能力
is
a的關(guān)系has
a的關(guān)系
面向接口編程3-1問題
實現(xiàn)防盜門功能分析10/30定義Lock接口
面向接口編程3-2
實現(xiàn)過程
具備上鎖、
開鎖的能力具有開門、關(guān)門的功能編寫TheftproofDoor類繼承類實現(xiàn)接口讓防盜門關(guān)門、上鎖、開鎖、開門定義Door
抽象類
編寫測試類演示示例:防盜門功能11/30擴(kuò)展防盜門門鈴功能,主要實現(xiàn)拍照存檔面向接口編程3-3一個人可以具有多項能力一個類可以實現(xiàn)多個接口問題演示示例:防盜門擴(kuò)展功能12/30接口中的成員變量默認(rèn)都是public
static
final的,必須顯式初始化接口中的方法默認(rèn)都是public
abstract的接口沒有構(gòu)造方法,不能被實例化一個接口不能實現(xiàn)另一個接口,但可以繼承多個其他接口一個類必須實現(xiàn)接口抽象方法(implements),除非這個類也是抽象類接口使用13/30閱讀代碼,找出錯誤小結(jié)publicinterface
MyInterface
{public
MyInterface();public
void
method1();public
void
method2(){
}private
void
method3();void
method4();int
method5();int
TYPE
=
1;}代碼閱讀14/30相同點(diǎn)代表系統(tǒng)的抽象層都不能被實例化都能包含抽象方法用于描述系統(tǒng)提供的服務(wù),不必提供具體實現(xiàn)不同點(diǎn)在抽象類中可以為部分方法提供默認(rèn)實現(xiàn),而接口中只能包含抽象方法抽象類便于復(fù)用,接口便于代碼維護(hù)一個類只能繼承一個直接的父類,但可以實現(xiàn)多個接口抽象類vs接口15/30使用原則接口做系統(tǒng)與外界交互的窗口接口提供服務(wù)接口本身一旦制定,就不允許隨意修改抽象類可完成部分功能實現(xiàn),還有部分功能可作為系統(tǒng)的擴(kuò)展點(diǎn)抽象類vs接口16/3
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 加盟健康中心合作合同范本
- 初創(chuàng)公司分紅合同范本
- 保證合同范本單方
- 醫(yī)用合同范本
- 單位和個人合伙合同范本
- 勞務(wù)門店合同范本
- 書畫居間合同范本
- 供用熱力合同范本
- 關(guān)聯(lián)交易合同范本
- 會展活動合同范本
- 《研學(xué)旅行市場營銷》課件-研學(xué)旅行市場營銷之社群營銷
- 醫(yī)美機(jī)構(gòu)客戶滿意度調(diào)查表
- clsim100-32藥敏試驗標(biāo)準(zhǔn)2023中文版
- LNG加氣站質(zhì)量管理手冊
- 艱難梭菌感染動物模型的建立及其應(yīng)用評價
- 2024年公安部直屬事業(yè)單位招聘筆試參考題庫附帶答案詳解
- 《旅游景點(diǎn)云南》課件2
- 2 我多想去看看(課件)-一年級下冊語文
- 《肺癌課件:基本概念與臨床表現(xiàn)》
- 《斯特魯普效應(yīng)》課件
- 第6章 30年代文學(xué)思潮
評論
0/150
提交評論