《接口與實(shí)現(xiàn)》PPT課件

上傳人:san****019 文檔編號:21582164 上傳時間:2021-05-05 格式:PPT 頁數(shù):22 大?。?60.37KB
收藏 版權(quán)申訴 舉報 下載
《接口與實(shí)現(xiàn)》PPT課件_第1頁
第1頁 / 共22頁
《接口與實(shí)現(xiàn)》PPT課件_第2頁
第2頁 / 共22頁
《接口與實(shí)現(xiàn)》PPT課件_第3頁
第3頁 / 共22頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《《接口與實(shí)現(xiàn)》PPT課件》由會員分享,可在線閱讀,更多相關(guān)《《接口與實(shí)現(xiàn)》PPT課件(22頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、2021-5-5 信 息 學(xué) 院 1 第 7章 接 口 與 實(shí) 現(xiàn) Java 不 支 持 多 繼 承 性 , 即 一 個 類 只 能 有 一 個父 類 。 單 繼 承 性 使 得 Java 簡 單 , 易 于 管 理 程 序 。 為了 克 服 單 繼 承 的 缺 點(diǎn) , Java使 用 了 接 口 , 一 個 類 可以 實(shí) 現(xiàn) 多 個 接 口 。 使 用 關(guān) 鍵 字 interface 來 定 義 一 個 接 口 。 接 口 的定 義 和 類 的 定 義 很 相 似 , 分 為 接 口 的 聲 明 和 接 口 體 。 2021-5-5 信 息 學(xué) 院 2 7.1.1 接 口 的 聲 明 與 使

2、 用( 1) 接 口 聲 明 接 口 通 過 使 用 關(guān) 鍵 字 interface 來 聲 明 interface 接 口 的 名 字( 2) 接 口 體 接 口 體 中 包 含 常 量 定 義 和 方 法 定 義 兩 部 分 。 接 口體 中 只 進(jìn) 行 方 法 的 聲 明 , 不 許 提 供 方 法 的 實(shí) 現(xiàn) , 所以 方 法 的 定 義 沒 有 方 法 體 , 且 用 分 號 結(jié) 尾 。7.1 接 口 2021-5-5 信 息 學(xué) 院 3 例 : interface Runner public static final int id=1; public void start( );

3、public void run( ); public void stop( ); 7.1 接 口 2021-5-5 信 息 學(xué) 院 4 ( 3) 接 口 的 使 用 一 個 類 通 過 使 用 關(guān) 鍵 字 implements 聲 明 自己 使 用 一 個 或 多 個 接 口 。 如 果 使 用 多 個 接 口 , 用逗 號 隔 開 接 口 名 。如 : class A implements Printable,Addable class Dog extends Animal implements Eatable,Sleepable7.2 實(shí) 現(xiàn) 接 口 2021-5-5 信 息 學(xué) 院 5

4、7.2 實(shí) 現(xiàn) 接 口 如 果 一 個 類 使 用 了 某 個 接 口 , 那 么 這 個 類 必 須 實(shí)現(xiàn) 該 接 口 的 所 有 方 法 , 即 為 這 些 方 法 提 供 方 法 體 。 需 要 注 意 的 是 在 類 中 實(shí) 現(xiàn) 接 口 的 方 法 時 , 方 法 的名 字 、 返 回 類 型 、 參 數(shù) 個 數(shù) 及 類 型 必 須 與 接 口 中 的 完全 一 致 。 特 別 要 注 意 的 是 接 口 中 的 方 法 被 默 認(rèn) 是 public 的 ,所 以 類 在 實(shí) 現(xiàn) 接 口 方 法 時 一 定 要 用 public 來 修 飾 。 2021-5-5 信 息 學(xué) 院 6 如

5、 果 接 口 的 方 法 的 返 回 類 型 不 是 void 的 , 那 么 在類 中 實(shí) 現(xiàn) 該 接 口 方 法 時 , 方 法 體 至 少 要 有 一 個 return 語 句 。 如 果 是 void 型 , 類 體 除 了 兩 個 大 括 號 外 , 也 可以 沒 有 任 何 語 句 。 7.2 實(shí) 現(xiàn) 接 口 Java 為 我 們 提 供 的 接 口 都 在 相 應(yīng) 的 包 中 , 通 過 引入 包 可 以 使 用 Java 提 供 的 接 口 。 也 可 以 自 己 定 義 接 口 ,一 個 java源 文 件 就 是 由 類 和 接 口 組 成 的 。 2021-5-5 信 息

6、 學(xué) 院 7 例 : import java.applet.*;import java.awt.*; interface Computable final int MAX=100; void speak(String s); int f(int x); float g(float x,float y); class China implements Computable int xuehao; public int f(int x) /不 要 忘 記 public關(guān) 鍵 字 . int sum=0; for(int i=1;i=x;i+) sum=sum+i; return sum; 2021

7、-5-5 信 息 學(xué) 院 8 public float g(float x,float y) return 6; /至 少 有 return語 句 . public void speak(String s) class Japan implements Computable int xuehao; public int f(int x) return 68; public float g(float x,float y) return x+y; 2021-5-5 信 息 學(xué) 院 9 public void speak(String s) public class Example4_26 ext

8、ends Applet China Li; Japan H enlu; public void init() Li=new China(); H enlu=new Japan(); Li.xuehao=991898; H enlu.xuehao=941448; 2021-5-5 信 息 學(xué) 院 10 public void paint(Graphics g)g.drawString(xuehao:+Li.MAX+Li.xuehao+從 1到 100 求 和 +Li.f(100),10,20);g.drawString(xuehao:+Henlu.MAX+Henlu.xuehao+加 法 +He

9、nlu.g(2.0f,3.0f),10,40); 注 : 如 果 一 個 類 聲 明 實(shí) 現(xiàn) 一 個 接 口 , 但 沒 有 實(shí) 現(xiàn) 接 口中 的 所 有 方 法 , 那 么 這 個 類 必 須 是 abstract 類 。 2021-5-5 信 息 學(xué) 院 11 接 口 的 語 法 規(guī) 則 很 容 易 記 住 , 但 真 正 理 解 接 口 更重 要 。 你 可 能 注 意 到 , 在 上 述 例 子 26 中 如 果 去 掉 接 口 ,并 把 程 序 中 的 Li.MAX, H enlu.MAX 去 掉 , 上 述 程 序的 運(yùn) 行 沒 有 任 何 問 題 。 那 為 什 么 要 用 接

10、口 呢 ? 7.3 理 解 接 口 2021-5-5 信 息 學(xué) 院 12 假 如 轎 車 、 卡 車 、 拖 拉 機(jī) 、 摩 托 車 、 客 車 都 是 機(jī)動 車 的 子 類 , 其 中 機(jī) 動 車 是 一 個 抽 象 類 。 如 果 機(jī) 動 車中 有 一 個 抽 象 方 法 “ 收 取 費(fèi) 用 ” , 那 么 所 有 的 子 類都 要 實(shí) 現(xiàn) 這 個 方 法 , 即 給 出 方 法 體 , 產(chǎn) 生 各 自 的 收 費(fèi)行 為 。 這 顯 然 不 符 合 人 們 的 思 維 方 法 , 因 為 拖 拉 機(jī) 可能 不 需 要 有 ” 收 取 費(fèi) 用 ” 的 功 能 , 而 其 他 的 一 些 類

11、 ,比 如 飛 機(jī) 、 輪 船 等 可 能 也 需 要 具 體 實(shí) 現(xiàn) ” 收 取 費(fèi) 用 ” 。7.3 理 解 接 口 2021-5-5 信 息 學(xué) 院 13 接 口 可 以 增 加 很 多 類 都 需 要 實(shí) 現(xiàn) 的 功 能 , 不 同的 類 可 以 使 用 相 同 的 接 口 , 同 一 個 類 也 可 以 實(shí) 現(xiàn) 多個 接 口 。 7. 3 理 解 接 口接 口 只 關(guān) 心 功 能 , 并 不 關(guān) 心 功 能 的 具 體 實(shí) 現(xiàn) 。 比 如 “ 客 車 類 ” 實(shí) 現(xiàn) 一 個 接 口 , 該 接 口 中 有 一個 “ 收 取 費(fèi) 用 ” 的 方 法 , 那 么 這 個 “ 客 車 類

12、” 必 須具 體 給 出 怎 樣 收 取 費(fèi) 用 的 操 作 , 即 給 出 方 法 的 方 法體 , 不 同 車 類 都 可 以 實(shí) 現(xiàn) “ 收 取 費(fèi) 用 ” , 但 “ 收 取費(fèi) 用 ” 的 手 段 可 能 不 相 同 。 2021-5-5 信 息 學(xué) 院 14 7.3 理 解 接 口 接 口 的 思 想 在 于 它 可 以 增 加 很 多 類 都 需 要 實(shí) 現(xiàn) 的功 能 , 使 用 相 同 的 接 口 類 不 一 定 有 繼 承 關(guān) 系 。注 : 接 口 聲 明 時 , 如 果 關(guān) 鍵 字 interface 前 面 加 上public 關(guān) 鍵 字 , 就 稱 這 樣 的 接 口 是

13、 一 個 public 接 口 ,public 接 口 可 以 被 任 何 一 個 類 使 用 。 如 果 一 個 接 口 不 加 public 修 飾 , 就 稱 做 友 好 接口 類 , 友 好 接 口 可 以 被 同 一 包 中 的 類 使 用 。 7.4 接 口 的 UML圖 表 示 接 口 的 UML圖 和 表 示 類 的 UML圖 類 似 , 使 用一 個 長 方 形 描 述 一 個 接 口 的 主 要 構(gòu) 成 , 將 長 方 形 垂 直地 分 為 三 層 。 第 1層 是 名 字 層 、 第 2層 是 常 量 層 、 第 3層 是 方 法 層 。 2021-5-5 信 息 學(xué) 院

14、 16 接 口 回 調(diào) 是 指 可 以 把 實(shí) 現(xiàn) 某 一 接 口 的 類 創(chuàng) 建 的 對象 的 引 用 賦 給 該 接 口 聲 明 的 接 口 變 量 中 。 那 么 該 接 口 變 量 就 可 以 調(diào) 用 被 類 實(shí) 現(xiàn) 的 接 口 中 的方 法 。 實(shí) 際 上 , 當(dāng) 接 口 變 量 調(diào) 用 被 類 實(shí) 現(xiàn) 的 接 口 中 的方 法 時 , 就 是 通 知 相 應(yīng) 的 對 象 調(diào) 用 接 口 的 方 法 。7.5 接 口 回 調(diào) 2021-5-5 信 息 學(xué) 院 17 例 : interface ShowMessage void 顯 示 商 標(biāo) (String s); class TV

15、implements ShowMessage public void 顯 示 商 標(biāo) (String s) System.out.println(s); class PC implements ShowMessage public void 顯 示 商 標(biāo) (String s) System.out.println(s); 7.5 接 口 回 調(diào) 2021-5-5 信 息 學(xué) 院 18 public class Example4_28 public static void main(String args) ShowMessage sm; sm=new TV(); sm.顯 示 商 標(biāo) (長

16、城 牌 電 視 機(jī) ); sm=new PC(); sm.顯 示 商 標(biāo) (聯(lián) 想 奔 月 5008PC機(jī) ); 7.5 接 口 回 調(diào) 2021-5-5 信 息 學(xué) 院 19 7.7 接 口 變 量 做 參 數(shù)如 果 一 個 方 法 的 參 數(shù) 是 接 口 類 型 , 就 可 以 將 任 何 實(shí) 現(xiàn)該 接 口 類 的 實(shí) 例 的 引 用 傳 遞 給 該 接 口 參 數(shù) , 那 么 接 口參 數(shù) 就 可 以 回 調(diào) 類 實(shí) 現(xiàn) 的 接 口 方 法 。 7.6 接 口 與 多 態(tài) 可 以 通 過 在 接 口 中 聲 明 若 干 個 abstract方 法 , 表明 這 些 方 法 的 重 要 性

17、 , 方 法 體 的 內(nèi) 容 細(xì) 節(jié) 由 實(shí) 現(xiàn) 接口 的 類 去 完 成 。 使 用 接 口 進(jìn) 行 程 序 設(shè) 計 的 核 心 思 想是 使 用 接 口 回 調(diào) , 即 接 口 變 量 存 放 實(shí) 現(xiàn) 該 接 口 的 類的 對 象 的 引 用 , 從 而 接 口 變 量 就 可 以 回 調(diào) 類 實(shí) 現(xiàn) 的接 口 方 法 。 例 3 7.8 abstract類 與 接 口 的 比 較 接 口 和 abstract類 的 比 較 如 下 :1 abstract類 和 接 口 都 可 以 有 abstract方 法 。2 接 口 中 只 可 以 有 常 量 ,不 能 有 變 量 ; 而 abst

18、ract類 中即 可 以 有 常 量 也 可 以 有 變 量 。3 abstract類 中 也 可 以 有 非 abstract方 法 ,接 口 不 可 以 。 7.9 面 向 接 口 編 程 面 向 接 口 去 設(shè) 計 程 序 , 可以 通 過 在 接 口 中 聲 明 若 干 個abstract方 法 , 表 明 這 些 方法 的 重 要 性 , 方 法 體 的 內(nèi) 容細(xì) 節(jié) 由 實(shí) 現(xiàn) 接 口 的 類 去 完 成 。 使 用 接 口 進(jìn) 行 程 序 設(shè) 計 的核 心 思 想 是 使 用 接 口 回 調(diào) ,即 接 口 變 量 存 放 實(shí) 現(xiàn) 該 接 口的 類 的 對 象 的 引 用 , 從 而 接口 變 量 就 可 以 回 調(diào) 類 實(shí) 現(xiàn) 的接 口 方 法 。 例 5

展開閱讀全文
溫馨提示:
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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!