




已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
抽象類與接口 本章內容 1 抽象類的概念 定義與應用2 接口的概念 定義與應用介紹幾種常見的設計模式3 抽象類與接口的比較相同點不同點 抽象類 包含有至少一個抽象方法的類稱為抽象類 用abstract關鍵字修飾 不能創(chuàng)建自己的對象 抽象方法交由子類去覆蓋 完成方法體 抽象方法 只有方法的頭部 沒有方法體 在繼承抽象類的子類中來實現父類中的所有抽象方法 完成方法體部分 聲明抽象方法與抽象類 權限修飾符 abstractreturnType方法名 paramlist 說明 1 只有方法頭部 沒有方法體 以 結束 2 構造方法不能聲明為抽象方法 例如 publicabstractfloatgetArea 權限修飾符 abstractclass類名稱 成員屬性 方法 定義一般方法構造方法 abstract方法 定義抽象方法 抽象類的作用 抽象類本身不能實例化 而抽象類的子類實現了抽象類的抽象方法 因此通常都是定義抽象類的引用指向子類的實例 自動完成向上轉型 是對象多態(tài)性的一個很好體現 AbstractClassac newAbstractClassImp 抽象類應用舉例 有三類圖書 科技書 文藝書和教材 三類書的屬性和方法如下圖所示 請用抽象類的方式完成相關代碼的編寫 圖書價格 每頁價格 頁碼 折扣 定義抽象類BookabstractclassBook intbookPage floatdiscount floatpagePrice 定義三個成員屬性publicBook intbookPage floatdiscount floatpagePrice this bookPage bookPage this discount discount this pagePrice pagePrice abstractvoidshowKind 顯示圖書種類publicfloatgetPrice returnbookPage discount pagePrice classScienceBookextendsBook 定義科技書publicScienceBook intbookPage floatdiscount floatpagePrice super bookPage discount pagePrice publicvoidshowKind 實現抽象方法 System out println Thebook stypeisscience classArtBookextendsBook 定義文藝書publicArtBook intbookPage floatdiscount floatpagePrice super bookPage discount pagePrice publicvoidshowKind 實現抽象方法 System out println Thebook stypeisart publicclassBookTest publicstaticvoidmain Stringargs Booksb newScienceBook 520 0 7f 0 2f sb showKind System out println getPrice Booktb newArtBook 400 0 8f 0 3f tb price tb getPrice 400 0 8f tb showKind System out println getPrice 抽象類的實際應用 如何在實際應用中定義抽象類 1 提取子類共有的屬性 可選項 2 提取子類共有的方法 可選項 提取子類共有的方法 但該方法的方法體子類各有不同 則此方法定義為抽象方法 必須項 練習 學生有姓名 年齡和成績屬性 教師有姓名 年齡和職稱屬性 學生和教師都能講話 但所講的內容不同 采用抽象類的方式完成上述代碼的編寫 接口的定義 現實世界的接口 兩個不同物體之間相互交互所必須通過的一個中介 沒有這個中介 兩者無法交互 軟件世界的接口 1 狹義 某個程序設計語言所提供的API 2 廣義 人與軟件交互的圖形界面 GUI Java中的接口 一種特殊的 類 只能包含常量和抽象方法 屬于引用數據類型 接口的作用 為什么要定義接口 Java出于安全性考慮 只支持單重繼承 而不支持多重繼承 多重繼承更能表達現實世界 接口的作用 配合繼承解決Java無法多繼承的缺點 提供方法聲明與實現相分離的機制 使實現接口的各個類表現出多態(tài)性 Aa newB B是實現了接口A的類 接口的定義 一個接口的定義包含以下部分 public interfaceMyInterface extendsInterface1 publicstaticfinal doubleE 2 718282 publicabstract voiddoSomething inti doublex publicabstract intdoSomethingElse Strings 訪問控制符 接口關鍵字 接口名 接口可以繼承接口 接口中可以定義常量 抽象方法 只聲明不實現 接口的實現 接口的實現是交給類來完成的 public classMyInterfaceImp extends父類名 implements接口名 繼承了接口中的常量publicvoiddoSomething inti doublex publicintdoSomethingElse Strings 一個類可以實現多個接口 實現接口的抽象方法 添加方法體 接口的簡單應用 定義一個測試類 分別創(chuàng)建圓形類和矩形類的對象 輸出各自的面積和周長 接口的高級應用 設計模式 設計模式針對面向對象系統(tǒng)中重復出現的設計問題 提出一個通用的設計方案 并予以系統(tǒng)化的命名和動機解釋 設計模式描述了問題 解決方案 在什么條件下使用該解決方案及其效果 解決方案是解決該問題的一組精心安排的通用的類和接口 再經過定制和實現就可用來解決特定上下文中的問題 代理模式 應用的場景 一個對象不想或者不能直接引用另外一個對象 那么通過代理可以在兩者之間起到連接作用 1 抽象目標角色 聲明真實目標對象和代理的共同接口 2 代理角色 內部包含對真實目標對象的引用 3 真實目標角色 是客戶端真正要交流的對象 需要被代理 適配器模式 使用場景 將一個類的接口 被適配對象 轉換成客戶希望調用的另外一個接口 目標 適配器模式 模式的三種角色 目標 Target 客戶想使用的接口 被適配者 Adaptee 一個已經存在的接口或抽象類 需要被適配 適配器 Adapter 是一個類 實現目標接口并包含被適配者的引用 接口的特點 1 接口可以定義為多繼承 類不能多繼承 interfaceA doublegetArea interfaceB StringgetName publicinterfaceCextendsA B StringgetAddress 2 接口沒有最高層 類有最高層 Object 接口的特點 3 接口中的方法默認為publicabstract 接口中的成員屬性默認為publicstaticfinal 例如 doublePI 3 14f 系統(tǒng)默認為publicstaticfinaldoublePI 3 14159 4 接口中的方法只能是抽象方法 不存在非抽象方法和構造方法 抽象類與接口的比較 相同點 1 都包含
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 青少年數字化環(huán)境中的心理健康變化特征
- 激發(fā)鄉(xiāng)村居民參與調解的積極性與主動性
- 鄉(xiāng)村人才引進與本土資源的協(xié)同發(fā)展路徑
- 推進海綿城市建設實施方案
- 市場經濟背景下審計監(jiān)督機制的應對策略
- 肇慶市教育局直屬學校招聘筆試真題2024
- 2024年黑龍江省三支一扶招聘真題
- 2024年郴電國際招聘真題
- 基于大數據的鄉(xiāng)村文化振興績效監(jiān)測
- 農田管護的現狀與挑戰(zhàn)分析
- 金屬非金屬礦山安全標準化講義
- 2023宿遷地生中考試卷
- 一人力資源轉型和價值
- 設備采購質量保證措施
- 機房設備安裝工程及移動通信工程施工工藝圖解
- 國內生態(tài)工業(yè)園區(qū)發(fā)展分析
- YY/T 0292.1-1997醫(yī)用診斷X射線輻射防護器具第1部分:材料衰減性能的測定
- LY/T 1697-2017飾面木質墻板
- GB/T 97.1-2002平墊圈A級
- GB/T 5121.27-2008銅及銅合金化學分析方法第27部分:電感耦合等離子體原子發(fā)射光譜法
- GB/T 1449-2005纖維增強塑料彎曲性能試驗方法
評論
0/150
提交評論