老師java預(yù)科56月份錄屏8抽象類和接口_第1頁
老師java預(yù)科56月份錄屏8抽象類和接口_第2頁
老師java預(yù)科56月份錄屏8抽象類和接口_第3頁
老師java預(yù)科56月份錄屏8抽象類和接口_第4頁
老師java預(yù)科56月份錄屏8抽象類和接口_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論