版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、回想與作業(yè)點評v 在子類中訪問父類成員的關鍵字是什么?在子類中訪問父類成員的關鍵字是什么?v 方法重載和方法重寫的區(qū)別?方法重載和方法重寫的區(qū)別?v 筆記本支持用戶運用電池筆記本支持用戶運用電池(AcPower)和電源和電源(Battery)兩兩種方式進展供電種方式進展供電v 運用多態(tài)性輸出目前筆記本的電源供電情況運用多態(tài)性輸出目前筆記本的電源供電情況“XX供電供電中中參考答案參考答案預習檢查子類中定義籠統(tǒng)類的關鍵字是什么?子類中定義籠統(tǒng)類的關鍵字是什么?as關鍵字的作用?關鍵字的作用?本章義務v運用運用OO思想思想v實現(xiàn)員工器樂演奏實現(xiàn)員工器樂演奏v實現(xiàn)員工執(zhí)行任務列表、查看任務目的完成情況
2、實現(xiàn)員工執(zhí)行任務列表、查看任務目的完成情況v實現(xiàn)豢養(yǎng)員給不同動物喂食實現(xiàn)豢養(yǎng)員給不同動物喂食了解里氏交換原那么了解里氏交換原那么會運用父類類型作為參數(shù)會運用父類類型作為參數(shù)了解籠統(tǒng)類和籠統(tǒng)方法了解籠統(tǒng)類和籠統(tǒng)方法了解虛方法和籠統(tǒng)方法的區(qū)別了解虛方法和籠統(tǒng)方法的區(qū)別本章目的里氏交換原那么/SE ai = new SE();SE joe = new SE();PM gates = new PM();List empls = new List();empls.Add(ai);empls.Add(joe);empls.Add(gates);/子類可以交換父類子類可以交換父類里氏交換原那么里氏交換原那么
3、LSP在一個軟件系統(tǒng)中,子類對象可以交換一切運用在一個軟件系統(tǒng)中,子類對象可以交換一切運用的父類對象,且程序行為沒有變化的父類對象,且程序行為沒有變化里氏交換原那么的運用一個鳥類,一個鴕鳥類,假設鳥可以飛,鴕鳥類一個鳥類,一個鴕鳥類,假設鳥可以飛,鴕鳥類可以承繼鳥類嗎?可以承繼鳥類嗎?假設鴕鳥類承繼鳥類,假設鴕鳥類承繼鳥類,違反違反“鴕鳥會飛鴕鳥會飛根據(jù)根據(jù)LSP原那么:軟件設計時,鴕鳥類不能承繼鳥原那么:軟件設計時,鴕鳥類不能承繼鳥類類is與as操作符is 檢查對象能否與指定類型兼容檢查對象能否與指定類型兼容if(emplsi is SE)判別判別empl集合的元素能集合的元素能否是否是SE
4、對象對象as 用于在兼容的援用類型之間執(zhí)行轉換用于在兼容的援用類型之間執(zhí)行轉換 for (int i = 0; i empls.Count;i+ ) if(emplsi is SE) SE se = emplsi as SE; Console.WriteLine(se.SayHi(); 一種類型轉換方式一種類型轉換方式轉換失敗前往值為空轉換失敗前往值為空多態(tài)的運用2-1某公司員工回家,可以選擇不同交通工具小某公司員工回家,可以選擇不同交通工具小汽車、地鐵、自行車,每種交通工具具有行汽車、地鐵、自行車,每種交通工具具有行駛的行為,編程模擬員工回家的過程駛的行為,編程模擬員工回家的過程多態(tài)的運用2
5、-2交通工具具有承繼關系交通工具具有承繼關系GoHome(TrafficTool tool)演示例如:多態(tài)的運用演示例如:多態(tài)的運用父類類型作為參數(shù)父類類型作為參數(shù)父類類型作為參數(shù)2-1實現(xiàn)交通工具承繼關系實現(xiàn)交通工具承繼關系public class TrafficTool public virtual void Run() Console.WriteLine(車在行使!車在行使!); public class Car:TrafficTool public override void Run() Console.WriteLine(小汽車在行使!小汽車在行使!); 父類類型作為參數(shù)2-2實現(xiàn)員
6、工回家實現(xiàn)員工回家public class Employee . public void GoHome(TrafficTool tool) Console.WriteLine(員工:員工:+this.Name); tool.Run(); List empls = new List();empls.Add(ai);empls.Add(joe);/員工選擇不同交通工具回家員工選擇不同交通工具回家empls0.GoHome(new Bicycle();empls1.GoHome(new Tube();父類作為參數(shù)運用,父類作為參數(shù)運用,可接受多種子類類型可接受多種子類類型傳送實踐創(chuàng)建的子類傳送實踐創(chuàng)
7、建的子類對象,對象,tool.Run()執(zhí)執(zhí)行相應子類的行相應子類的Run()小結實現(xiàn)多態(tài)的步驟:實現(xiàn)多態(tài)的步驟:子類重寫父類的方法子類重寫父類的方法兩種方式兩種方式創(chuàng)建父類變量,實例化子類對象創(chuàng)建父類變量,實例化子類對象把父類類型作為參數(shù)類型,該子類及子類對象把父類類型作為參數(shù)類型,該子類及子類對象作為參數(shù)傳入作為參數(shù)傳入運轉時,根據(jù)實踐創(chuàng)建的對象決議執(zhí)行哪個方運轉時,根據(jù)實踐創(chuàng)建的對象決議執(zhí)行哪個方法法指點實現(xiàn)器樂演奏v訓練要點訓練要點v父類類型作為參數(shù)父類類型作為參數(shù)v需求闡明需求闡明v公司舉行器樂大賽,員工可以選擇不同的樂器公司舉行器樂大賽,員工可以選擇不同的樂器進展演奏,模擬演奏過程
8、進展演奏,模擬演奏過程v難點分析難點分析v不同器樂承繼自不同器樂承繼自Instrument類類v員工具有員工具有Play(樂器類型樂器類型)方法方法public void Play(Instrument XX) XX.Play();支持傳入多種子類對象,防止支持傳入多種子類對象,防止為每一個子類類型編寫方法為每一個子類類型編寫方法完成時間:完成時間:25分鐘分鐘共性問題集中講解n常見調(diào)試問題及處理方法常見調(diào)試問題及處理方法n代碼規(guī)范問題代碼規(guī)范問題共性問題集中講解共性問題集中講解為什么需求籠統(tǒng)方法public class TrafficTool public virtual void Run(
9、) Console.WriteLine(車在行使!車在行使!); 交通工具類是籠統(tǒng)的概念,交通工具類是籠統(tǒng)的概念,根本不能夠實例化,根本不能夠實例化,Run()方方法不具有實踐意義!法不具有實踐意義!public abstract class TrafficTool public abstract void Run(); 運用籠統(tǒng)類、籠統(tǒng)方法優(yōu)化程序運用籠統(tǒng)類、籠統(tǒng)方法優(yōu)化程序 public abstract class TrafficTool public abstract void Run(); 籠統(tǒng)類和籠統(tǒng)方法籠統(tǒng)方法籠統(tǒng)方法 一個沒有實一個沒有實現(xiàn)的方法現(xiàn)的方法有籠統(tǒng)方法的類必然是籠統(tǒng)
10、類有籠統(tǒng)方法的類必然是籠統(tǒng)類v籠統(tǒng)類用來列舉一個類所需求的行為籠統(tǒng)類用來列舉一個類所需求的行為v籠統(tǒng)類不明確提供詳細實現(xiàn)方法籠統(tǒng)類不明確提供詳細實現(xiàn)方法v籠統(tǒng)類必需由其子類實現(xiàn)它的籠統(tǒng)方法除非籠統(tǒng)類必需由其子類實現(xiàn)它的籠統(tǒng)方法除非子類也具有籠統(tǒng)性子類也具有籠統(tǒng)性常見錯誤籠統(tǒng)類不能被實例化籠統(tǒng)類不能被實例化籠統(tǒng)類不能是靜態(tài)的籠統(tǒng)類不能是靜態(tài)的TrafficTool tool = new TrafficTool(); 編譯錯誤編譯錯誤籠統(tǒng)類不能用籠統(tǒng)類不能用static修飾修飾實現(xiàn)籠統(tǒng)方法運用運用override實現(xiàn)籠統(tǒng)方法實現(xiàn)籠統(tǒng)方法class Tube:TrafficTool public o
11、verride void Run() Console.WriteLine(地鐵運轉中!地鐵運轉中!); 重寫重寫 必需實現(xiàn)籠統(tǒng)父類必需實現(xiàn)籠統(tǒng)父類中的籠統(tǒng)方法中的籠統(tǒng)方法演示例如:籠統(tǒng)類和籠統(tǒng)方法演示例如:籠統(tǒng)類和籠統(tǒng)方法籠統(tǒng)類的實踐運用3-1實現(xiàn)員工執(zhí)行任務列表、查看任務目的完成情實現(xiàn)員工執(zhí)行任務列表、查看任務目的完成情況況不同任務執(zhí)行的目的項不同,不同任務執(zhí)行的目的項不同,因此窗體不同因此窗體不同籠統(tǒng)類的實踐運用3-2v任務類型有很多且執(zhí)行目的不同任務類型有很多且執(zhí)行目的不同v編碼、測試、審核編碼、測試、審核模擬執(zhí)行任務,模擬執(zhí)行任務,顯示對應類型顯示對應類型任務窗體任務窗體顯示任務完顯示
12、任務完成情況成情況測試類型任測試類型任務特有目的務特有目的編碼類型任編碼類型任務特有目的務特有目的籠統(tǒng)類的實踐運用3-3public abstract class Job .定義公共屬性定義公共屬性. /執(zhí)行執(zhí)行 public abstract void Execute(); /顯示顯示 public abstract string Show();public class CodeJob:Job /實現(xiàn)籠統(tǒng)實現(xiàn)籠統(tǒng)Job的的Execute方法方法 public override void Execute() FrmCodeExe frmCodeExe = new FrmCodeExe(this
13、); frmCodeExe.ShowDialog(); 演示例如:籠統(tǒng)類的實踐運用演示例如:籠統(tǒng)類的實踐運用翻開不同任務翻開不同任務類型的窗體,類型的窗體,填寫目的執(zhí)行填寫目的執(zhí)行情況情況傳送當前對象傳送當前對象的援用的援用籠統(tǒng)方法籠統(tǒng)方法籠統(tǒng)類的運用場所父類提供一系列規(guī)定,約束子類的行為父類提供一系列規(guī)定,約束子類的行為Dog : Animal Cat : Animal abstract Animal 貓咪喵喵叫貓咪喵喵叫 狗狗汪汪叫狗狗汪汪叫 abstract 叫叫() 父類可以提供一些共父類可以提供一些共性的行為性的行為籠統(tǒng)類和籠統(tǒng)方法實籠統(tǒng)類和籠統(tǒng)方法實現(xiàn)多態(tài)性現(xiàn)多態(tài)性對比虛方法籠統(tǒng)類
14、和籠統(tǒng)方法籠統(tǒng)類和籠統(tǒng)方法籠統(tǒng)類通常代表一個籠統(tǒng)的概念籠統(tǒng)類通常代表一個籠統(tǒng)的概念籠統(tǒng)方法約束子類對象的行為籠統(tǒng)方法約束子類對象的行為比如:籠統(tǒng)的動物類,具有籠統(tǒng)方法吃比如:籠統(tǒng)的動物類,具有籠統(tǒng)方法吃()、喝、喝()虛方法虛方法詳細類的默許實現(xiàn),提供其子類擴展實現(xiàn)方式詳細類的默許實現(xiàn),提供其子類擴展實現(xiàn)方式比如:數(shù)據(jù)庫銜接類,比如:數(shù)據(jù)庫銜接類,Connect()方法實現(xiàn)與方法實現(xiàn)與SQL Server的銜接,數(shù)據(jù)庫銜接子類承繼并重的銜接,數(shù)據(jù)庫銜接子類承繼并重寫它,實現(xiàn)與寫它,實現(xiàn)與MySQL銜接銜接籠統(tǒng)方法與虛方法籠統(tǒng)方法籠統(tǒng)方法虛方法虛方法用用 abstract 修飾修飾用用 virt
15、ual 修飾修飾不允許有方法體不允許有方法體要有方法體,哪怕是一個分要有方法體,哪怕是一個分號號必需被子類必需被子類 override可以被子類可以被子類 override只能在籠統(tǒng)類中只能在籠統(tǒng)類中除了密封類都可以寫除了密封類都可以寫籠統(tǒng)類中可以包括籠統(tǒng)類中可以包括籠統(tǒng)方法和非籠統(tǒng)籠統(tǒng)方法和非籠統(tǒng)方法方法 面向對象的三大特性隱藏內(nèi)部實現(xiàn),穩(wěn)定外部接口隱藏內(nèi)部實現(xiàn),穩(wěn)定外部接口 封裝封裝承繼承繼子類承繼父類成員,實現(xiàn)代碼復用子類承繼父類成員,實現(xiàn)代碼復用 多態(tài)多態(tài)不同子類對同一個音訊作出不同的反映不同子類對同一個音訊作出不同的反映 義務義務5.7 5.7 計算圓面積和周長、圓柱面子積和體積計算
16、圓面積和周長、圓柱面子積和體積 義務描畫:設計計算器界面經(jīng)過多級承繼,完成圓面積和周長的計算、圓柱面子積和體積的計算 。 將圓心坐標定義為基類,在基類中包含坐標將圓心坐標定義為基類,在基類中包含坐標X屬性和屬性和Y屬性,定義屬性,定義Print方法用來輸出圓方法用來輸出圓心坐標位置心坐標位置 承繼基類建立圓派生類,新增圓的半徑承繼基類建立圓派生類,新增圓的半徑R屬屬性,定義求圓面積和周長的方法,并重寫性,定義求圓面積和周長的方法,并重寫Print方法用來輸出圓心坐標、圓面積和周長方法用來輸出圓心坐標、圓面積和周長 將圓作為基類建立圓柱派生類,新增圓柱體將圓作為基類建立圓柱派生類,新增圓柱體的高
17、度的高度Height這一屬性,重寫求面積方法,這一屬性,重寫求面積方法,改為求圓柱外表積,定義求體積的方法,重改為求圓柱外表積,定義求體積的方法,重寫寫Print方法用來輸出圓柱體外表積和體積等方法用來輸出圓柱體外表積和體積等 義務義務 5.3 5.3 根據(jù)圓的半徑計算圓面積根據(jù)圓的半徑計算圓面積定義基類定義基類 public class Centre protected int x,y; public Centre() public Centre(int myx,int myy) x = myx; y = myy; public virtual string Print() string s
18、tr = 圓心坐標:( + X.ToString() + , + Y.ToString() + ); return str; 構造函數(shù)構造函數(shù)虛擬方法虛擬方法 定義派生類定義派生類 public class Round:Centre /定義派生類 private int r; public Round() public Round(int myx,int myy,int myr):base(myx ,myy ) r = myr; public override string Print() string str = base.Print ()+rn+圓的面積:+Area ().ToString ()+rn+圓的周長:+Perimeter ().ToString (); return str; 方法覆蓋方法覆蓋從派生類中訪問基類的屬性和從派生類中訪問基類的屬性和方法成員方法成員 指點員工執(zhí)行任務列表v訓練要點訓練要點v籠統(tǒng)類和籠統(tǒng)方法籠統(tǒng)類和籠統(tǒng)方法v需求分析需求分析v實現(xiàn)員工執(zhí)行任務列表實現(xiàn)員工執(zhí)行任務列表v編碼任務目的項:有效編碼行數(shù)、遺留問題、編碼任務目的項:有效編碼行數(shù)、遺留問題、任務日任務日v測試任務目的項:測試用例個數(shù)、發(fā)現(xiàn)的測試任務目的項:測試用例個數(shù)、發(fā)現(xiàn)的Bug數(shù)、任務日
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度鋼材產(chǎn)業(yè)鏈上下游合作協(xié)議模板
- 科技行業(yè)專題報告:DeepSeek:技術顛覆or創(chuàng)新共贏
- 奮斗新時代決心鑄就輝煌
- 2025版城市地下空間挖掘機租賃合同協(xié)議書3篇
- 2025個人藝術品收藏分期付款合同2篇
- 2025年個人借款咨詢與風險管理服務協(xié)議4篇
- 2025版土地承包經(jīng)營權流轉合同示范書6篇
- 2025年全球及中國絕對大分子多角度光散射檢測器行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球柔性表面加熱器行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球噴丸服務行業(yè)調(diào)研及趨勢分析報告
- 2025水利云播五大員考試題庫(含答案)
- 老年髖部骨折患者圍術期下肢深靜脈血栓基礎預防專家共識(2024版)解讀
- 藥企質(zhì)量主管競聘
- 信息對抗與認知戰(zhàn)研究-洞察分析
- 中藥飲片驗收培訓
- 手術室??谱o士工作總結匯報
- 2025屆高三聽力技巧指導-預讀、預測
- DB34T 1831-2013 油菜收獲與秸稈粉碎機械化聯(lián)合作業(yè)技術規(guī)范
- 蘇州市2025屆高三期初陽光調(diào)研(零模)政治試卷(含答案)
- 創(chuàng)傷處理理論知識考核試題及答案
- (正式版)HG∕T 21633-2024 玻璃鋼管和管件選用規(guī)定
評論
0/150
提交評論