版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第四章深入類的方法回顧與作業(yè)點(diǎn)評(píng)List對(duì)象stus存儲(chǔ)三個(gè)學(xué)生對(duì)象添加一個(gè)學(xué)生對(duì)象stu獲取索引為2的元素,并輸出他的姓名刪除對(duì)象joeDictionary對(duì)象stus存儲(chǔ)三個(gè)學(xué)生對(duì)象添加一個(gè)學(xué)生對(duì)象stu遍歷集合,輸出所有對(duì)象的姓名預(yù)習(xí)檢查實(shí)現(xiàn)方法重載的兩個(gè)方法具有哪些特征?構(gòu)造函數(shù)何時(shí)執(zhí)行?本章任務(wù)完善SE類計(jì)算員工薪水使用OO模擬遙控器控制電視機(jī)的開、關(guān)和換臺(tái)使用OO模擬顧客點(diǎn)餐理解并會(huì)編寫類的構(gòu)造函數(shù)會(huì)實(shí)現(xiàn)方法重載理解類之間的通信本章目標(biāo)構(gòu)造函數(shù)實(shí)例化一個(gè)程序員對(duì)象并問好static void Main(string args) SE engineer = new SE(); eng
2、ineer.Age = 25; engineer.Name = 艾邊成; engineer.Gender = Gender.male; engineer.ID = 112; engineer.Popularity = 100; Console.WriteLine(engineer.SayHi();調(diào)用構(gòu)造函數(shù)public class Programmer public Programmer() 設(shè)置屬性,如果忘記賦值?保持初始值編寫無參構(gòu)造函數(shù)構(gòu)造函數(shù)是類中一種特殊的方法構(gòu)造函數(shù)名與類名相同,不返回任何值public class SE public SE() this.ID = 000; th
3、is.Age = 20; this.Name = 無名氏; this.Gender = Gender.male; this.Popularity = 0; 在構(gòu)造函數(shù)中,給屬性設(shè)置默認(rèn)值演示示例:編寫無參構(gòu)造函數(shù)不同對(duì)象實(shí)例化后,仍需設(shè)置不同屬性值;能否實(shí)例化時(shí)一次性設(shè)置對(duì)象真正屬性值?編寫帶參構(gòu)造函數(shù)帶參數(shù)的構(gòu)造函數(shù)public class SE /帶參構(gòu)造函數(shù) public SE(string id, string name, int age, Gender gender,int popularity) this.ID = id; this.Name = name; this.Age =
4、age; this.Gender = gender; this.Popularity = popularity; 將參數(shù)的值,分別賦給當(dāng)前實(shí)例的屬性演示示例:帶參數(shù)的構(gòu)造函數(shù)使用構(gòu)造函數(shù)構(gòu)造函數(shù):每次創(chuàng)建類的示例(new)時(shí)會(huì)被調(diào)用new 關(guān)鍵字可以實(shí)例化一個(gè)新的對(duì)象指定調(diào)用某個(gè)帶參數(shù)的構(gòu)造函數(shù) SE engineer = new SE(112, 艾邊成, 25, Gender.male, 100);SE engineer = new SE();指定實(shí)例化對(duì)象的屬性值 簡(jiǎn)化了對(duì)象屬性初始化常見錯(cuò)誤Cat cat = new Cat(歡歡, 2, 波斯貓);Console.WriteLine(c
5、at.Name);public class Cat public Cat(int age, string name, string brand) /省略 /省略字段、屬性編譯錯(cuò)誤 參數(shù)列表不對(duì)應(yīng)Cat cat = new Cat(2, 歡歡, 波斯貓);演示示例:使用帶參構(gòu)造常見錯(cuò)誤類的隱式構(gòu)造函數(shù)構(gòu)造兩個(gè)對(duì)象/實(shí)例化一個(gè)程序員對(duì)象SE engineer = new SE(112, 艾邊成, 25, Gender.male, 100);Console.WriteLine(engineer.SayHi();/實(shí)例化另一個(gè)程序員對(duì)象SE joe = new joe();.punlic Progra
6、mmer public SE (string id, string name, int age, Gender gender,int popularity)/省略 /省略字段、屬性編譯錯(cuò)誤:不包含采用“0”參數(shù)的構(gòu)造函數(shù) 演示示例:隱式構(gòu)造函數(shù)每個(gè)類都默認(rèn)有一個(gè)無參數(shù)的構(gòu)造函數(shù),一旦手動(dòng)添加了構(gòu)造函數(shù),系統(tǒng)就不會(huì)再給類添加無參構(gòu)造函數(shù)小結(jié)已有Student類,包含的屬性學(xué)號(hào)姓名年齡創(chuàng)建學(xué)生對(duì)象時(shí),支持以下構(gòu)造方式構(gòu)造時(shí)需提供姓名、年齡學(xué)號(hào)設(shè)為默認(rèn)值“0000”參考代碼使用方法重載解決問題public class SE /帶參構(gòu)造函數(shù) public SE (string id, string n
7、ame, int age, Gender gender,int popularity) this.ID = id; this.Name = name; this.Age = age; this.Gender = gender; this.Popularity = popularity; /無參構(gòu)造函數(shù) public SE() 方法重載構(gòu)造函數(shù)重載:提供多種實(shí)例化方式理解方法重載生活中的方法重載表演類歌曲樂器劇本方法參數(shù)方法體public class Player public void Play(劇本) /根據(jù)劇本表演 public void Play(歌曲) /演唱歌曲 public voi
8、d Play(鋼琴) /彈奏鋼琴方法重載:同一個(gè)類中,方法名相同,參數(shù)項(xiàng)不同(參數(shù)類型不同、參數(shù)個(gè)數(shù)不同)重載的輸出方法Console類提供多個(gè)重載的WriteLine()實(shí)現(xiàn)公司不同級(jí)別員工的工資計(jì)算方法Console.WriteLine(8);Console.WriteLine(10.48);Console.WriteLine(Hello);Console.WriteLine(Hello,0, name);接收不同類型的數(shù)據(jù)作為參數(shù)方便記憶、調(diào)用PM:基礎(chǔ)工資+項(xiàng)目獎(jiǎng)金+分紅SE:基礎(chǔ)工資+考核工資演示示例:實(shí)現(xiàn)工資計(jì)算方法重載示例public class CompSalary /項(xiàng)目經(jīng)理
9、的薪水計(jì)算 public static void Pay(PM pm) float money = pm.BasePay + pm.MgrPrize + pm.Bonus; /輸出 /程序員的薪水計(jì)算 public static void Pay(SE se) float money = se.BasePay + se.MeritPay; /輸出 /計(jì)算工資CompSalary.Pay(engineer);CompSalary.Pay(joe);判斷給定的類型,決定執(zhí)行哪個(gè)Pay()方法構(gòu)造函數(shù)重載提供程序員類多種構(gòu)造方式public SE(string id, string name, in
10、t age, Gender gender,int popularity) .public SE(string id, string name, int age, Gender gender, int popularity,float basePay,float meritPay) . this.BasePay = basePay; this.MeritPay = meritPay;構(gòu)造函數(shù)重載是方法重載的一種典型特例public static void main() SE engineer = new SE(112, 艾邊成, 25, Gender.male, 100,4000,300); 演
11、示示例:構(gòu)造函數(shù)重載 小結(jié)閱讀以下代碼,判斷哪些屬于方法重載?1)public void Study(string name) public void Study(int hours)2)public void Study(string name) public string Study(string name)3)public void Study(string name) public void Study(string name, int age)4)public Student(string name) public Student(string name, int age)方法重載有
12、兩種:參數(shù)類型不同的重載、參數(shù)個(gè)數(shù)不同的重載方法重載方法重載構(gòu)造函數(shù)重載講解需求說明指導(dǎo)實(shí)現(xiàn)問好訓(xùn)練要點(diǎn):構(gòu)造函數(shù)需求說明:給SE類和PM類添加帶參構(gòu)造函數(shù)屬性值在實(shí)例化時(shí)初始化實(shí)例化對(duì)象并實(shí)現(xiàn)問好實(shí)現(xiàn)思路:添加構(gòu)造函數(shù)實(shí)例化對(duì)象調(diào)用對(duì)象的SayHi()方法完成時(shí)間:20分鐘指導(dǎo)計(jì)算薪水2-1訓(xùn)練要點(diǎn):方法重載需求說明:計(jì)算公司不同級(jí)別員工薪水項(xiàng)目經(jīng)理:基礎(chǔ)工資+項(xiàng)目獎(jiǎng)金+分紅程序員:基礎(chǔ)工資+考核工資講解需求說明完成時(shí)間:20分鐘指導(dǎo)計(jì)算薪水2-2實(shí)現(xiàn)思路:SE類添加屬性基礎(chǔ)工資、考核工資PM類添加屬性基礎(chǔ)工資、項(xiàng)目獎(jiǎng)金、分紅添加新的構(gòu)造函數(shù)編寫薪水計(jì)算類CompSalary,實(shí)現(xiàn)重載的Pa
13、y()方法Pay(PM pm) 和 Pay(SE se)實(shí)例化對(duì)象,輸出所得薪水共性問題集中講解常見調(diào)試問題及解決辦法代碼規(guī)范問題共性問題集中講解練習(xí)模擬汽車奔跑需求說明:編寫控制臺(tái)程序,模擬小汽車Car奔跑編寫Car類(車名、顏色、產(chǎn)地),實(shí)現(xiàn)Run()方法添加有參構(gòu)造函數(shù),在構(gòu)造函數(shù)中給成員賦值,通過構(gòu)造函數(shù)創(chuàng)建對(duì)象,并調(diào)用Run()重載Run()方法,給Run()傳遞一個(gè)參數(shù)int speed,輸出信息,車速通過參數(shù)傳遞完成時(shí)間:20分鐘共性問題集中講解常見調(diào)試問題及解決辦法代碼規(guī)范問題共性問題集中講解面向?qū)ο蠓椒嫦驅(qū)ο蠓椒ā跋伋病苯o我們的思考簡(jiǎn)化的面向?qū)ο筌浖_發(fā)過程分析需求和總體任
14、務(wù)設(shè)計(jì)合適的類,滿足需求和任務(wù)實(shí)例化對(duì)象通過外部觸發(fā),驅(qū)動(dòng)對(duì)象操作對(duì)象相互協(xié)同工作,共同完成軟件功能!對(duì)象交互封裝:隱藏實(shí)現(xiàn)細(xì)節(jié),公開某種功能作為與外界通信的通道消息傳遞:每個(gè)對(duì)象都具有特定功能,相對(duì)其他對(duì)象而言,它的功能就是為其他對(duì)象提供的服務(wù)人+按門鈴門鈴+發(fā)出聲音對(duì)象交互示例1 2-1模擬遙控器控制電視機(jī)開、關(guān)、換臺(tái)演示示例:模擬遙控器控制電視機(jī)電視機(jī)遙控器對(duì)象交互示例1 2-2public class RemoteControl /開機(jī) public void TurnOn(Television tv) tv.Open(); /調(diào)用電視機(jī)對(duì)象的開機(jī)方法 /關(guān)機(jī) public void
15、TunnOff(Television tv) tv.TurnOff(); /調(diào)用電視機(jī)對(duì)象的關(guān)機(jī)方法 /換臺(tái) public void ChangeChannel(Television tv) Console.Write(請(qǐng)輸入頻道號(hào):); string channelNo = Console.ReadLine(); tv.Change(channelNo); 指定交互的電視機(jī)對(duì)象對(duì)象交互示例2使用OOP方法模擬顧客點(diǎn)餐演示示例:模擬顧客點(diǎn)餐 常見錯(cuò)誤/初始化客戶、服務(wù)員、廚師Client wang = new Client();/初始化點(diǎn)菜單Order order = new Order();/order.customer = wang;order.id = 100;order.mealList = 水煮魚;/ 服務(wù)員傳菜public void TransCook() Console.WriteLine(服務(wù)員將菜0送給客戶1!, order.mealList,order.id); o
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024高中語(yǔ)文第四單元?jiǎng)?chuàng)造形象詩(shī)文有別自主賞析項(xiàng)羽之死學(xué)案新人教版選修中國(guó)古代詩(shī)歌散文欣賞
- 2024高考化學(xué)一輪復(fù)習(xí)課練7鎂鋁及其化合物含解析
- 2024高考地理一輪復(fù)習(xí)專練16高低壓系統(tǒng)與鋒面氣旋含解析新人教版
- 小學(xué)全環(huán)境立德樹人工作方案
- 證券法期末考試題及答案
- 2024年海南政法職業(yè)學(xué)院高職單招語(yǔ)文歷年參考題庫(kù)含答案解析
- 2024年浙江安防職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 2024年隴西縣第二人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 2024年陽(yáng)江市中西醫(yī)結(jié)合醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 2024年河南林業(yè)職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測(cè)試歷年參考題庫(kù)含答案解析
- 道路交通安全隱患排查整治方案
- 企業(yè)事業(yè)部制的績(jī)效評(píng)估與考核
- 中小學(xué)人工智能教育的國(guó)內(nèi)外研究綜述
- 月子中心評(píng)估項(xiàng)目可行性研究報(bào)告
- 中職數(shù)學(xué)課件
- 機(jī)械工程師筆試題目
- 傷口敷料種類及作用-課件
- 電力安全工作規(guī)程(變電部分)課件
- 環(huán)保設(shè)施安全風(fēng)險(xiǎn)告知卡
- 卵石地層樁基旋挖鉆施工方案
- GB/T 4091-2001常規(guī)控制圖
評(píng)論
0/150
提交評(píng)論