北大青鳥accp6.0深入.net平臺和編程參考答案_第1頁
北大青鳥accp6.0深入.net平臺和編程參考答案_第2頁
北大青鳥accp6.0深入.net平臺和編程參考答案_第3頁
北大青鳥accp6.0深入.net平臺和編程參考答案_第4頁
北大青鳥accp6.0深入.net平臺和編程參考答案_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第四章深入類的方法回顧與作業(yè)點評List對象stus存儲三個學(xué)生對象添加一個學(xué)生對象stu獲取索引為2的元素,并輸出他的姓名刪除對象joeDictionary對象stus存儲三個學(xué)生對象添加一個學(xué)生對象stu遍歷集合,輸出所有對象的姓名預(yù)習(xí)檢查實現(xiàn)方法重載的兩個方法具有哪些特征?構(gòu)造函數(shù)何時執(zhí)行?本章任務(wù)完善SE類計算員工薪水使用OO模擬遙控器控制電視機的開、關(guān)和換臺使用OO模擬顧客點餐理解并會編寫類的構(gòu)造函數(shù)會實現(xiàn)方法重載理解類之間的通信本章目標構(gòu)造函數(shù)實例化一個程序員對象并問好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è)置默認值演示示例:編寫無參構(gòu)造函數(shù)不同對象實例化后,仍需設(shè)置不同屬性值;能否實例化時一次性設(shè)置對象真正屬性值?編寫帶參構(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ù)的值,分別賦給當前實例的屬性演示示例:帶參數(shù)的構(gòu)造函數(shù)使用構(gòu)造函數(shù)構(gòu)造函數(shù):每次創(chuàng)建類的示例(new)時會被調(diào)用new 關(guān)鍵字可以實例化一個新的對象指定調(diào)用某個帶參數(shù)的構(gòu)造函數(shù) SE engineer = new SE(112, 艾邊成, 25, Gender.male, 100);SE engineer = new SE();指定實例化對象的屬性值 簡化了對象屬性初始化常見錯誤Cat cat = new Cat(歡歡, 2, 波斯貓);Console.WriteLine(c

5、at.Name);public class Cat public Cat(int age, string name, string brand) /省略 /省略字段、屬性編譯錯誤 參數(shù)列表不對應(yīng)Cat cat = new Cat(2, 歡歡, 波斯貓);演示示例:使用帶參構(gòu)造常見錯誤類的隱式構(gòu)造函數(shù)構(gòu)造兩個對象/實例化一個程序員對象SE engineer = new SE(112, 艾邊成, 25, Gender.male, 100);Console.WriteLine(engineer.SayHi();/實例化另一個程序員對象SE joe = new joe();.punlic Progra

6、mmer public SE (string id, string name, int age, Gender gender,int popularity)/省略 /省略字段、屬性編譯錯誤:不包含采用“0”參數(shù)的構(gòu)造函數(shù) 演示示例:隱式構(gòu)造函數(shù)每個類都默認有一個無參數(shù)的構(gòu)造函數(shù),一旦手動添加了構(gòu)造函數(shù),系統(tǒng)就不會再給類添加無參構(gòu)造函數(shù)小結(jié)已有Student類,包含的屬性學(xué)號姓名年齡創(chuàng)建學(xué)生對象時,支持以下構(gòu)造方式構(gòu)造時需提供姓名、年齡學(xué)號設(shè)為默認值“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ù)方法體public class Player public void Play(劇本) /根據(jù)劇本表演 public void Play(歌曲) /演唱歌曲 public voi

8、d Play(鋼琴) /彈奏鋼琴方法重載:同一個類中,方法名相同,參數(shù)項不同(參數(shù)類型不同、參數(shù)個數(shù)不同)重載的輸出方法Console類提供多個重載的WriteLine()實現(xiàn)公司不同級別員工的工資計算方法Console.WriteLine(8);Console.WriteLine(10.48);Console.WriteLine(Hello);Console.WriteLine(Hello,0, name);接收不同類型的數(shù)據(jù)作為參數(shù)方便記憶、調(diào)用PM:基礎(chǔ)工資+項目獎金+分紅SE:基礎(chǔ)工資+考核工資演示示例:實現(xiàn)工資計算方法重載示例public class CompSalary /項目經(jīng)理

9、的薪水計算 public static void Pay(PM pm) float money = pm.BasePay + pm.MgrPrize + pm.Bonus; /輸出 /程序員的薪水計算 public static void Pay(SE se) float money = se.BasePay + se.MeritPay; /輸出 /計算工資CompSalary.Pay(engineer);CompSalary.Pay(joe);判斷給定的類型,決定執(zhí)行哪個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ù)個數(shù)不同的重載方法重載方法重載構(gòu)造函數(shù)重載講解需求說明指導(dǎo)實現(xiàn)問好訓(xùn)練要點:構(gòu)造函數(shù)需求說明:給SE類和PM類添加帶參構(gòu)造函數(shù)屬性值在實例化時初始化實例化對象并實現(xiàn)問好實現(xiàn)思路:添加構(gòu)造函數(shù)實例化對象調(diào)用對象的SayHi()方法完成時間:20分鐘指導(dǎo)計算薪水2-1訓(xùn)練要點:方法重載需求說明:計算公司不同級別員工薪水項目經(jīng)理:基礎(chǔ)工資+項目獎金+分紅程序員:基礎(chǔ)工資+考核工資講解需求說明完成時間:20分鐘指導(dǎo)計算薪水2-2實現(xiàn)思路:SE類添加屬性基礎(chǔ)工資、考核工資PM類添加屬性基礎(chǔ)工資、項目獎金、分紅添加新的構(gòu)造函數(shù)編寫薪水計算類CompSalary,實現(xiàn)重載的Pa

13、y()方法Pay(PM pm) 和 Pay(SE se)實例化對象,輸出所得薪水共性問題集中講解常見調(diào)試問題及解決辦法代碼規(guī)范問題共性問題集中講解練習(xí)模擬汽車奔跑需求說明:編寫控制臺程序,模擬小汽車Car奔跑編寫Car類(車名、顏色、產(chǎn)地),實現(xiàn)Run()方法添加有參構(gòu)造函數(shù),在構(gòu)造函數(shù)中給成員賦值,通過構(gòu)造函數(shù)創(chuàng)建對象,并調(diào)用Run()重載Run()方法,給Run()傳遞一個參數(shù)int speed,輸出信息,車速通過參數(shù)傳遞完成時間:20分鐘共性問題集中講解常見調(diào)試問題及解決辦法代碼規(guī)范問題共性問題集中講解面向?qū)ο蠓椒嫦驅(qū)ο蠓椒ā跋伋病苯o我們的思考簡化的面向?qū)ο筌浖_發(fā)過程分析需求和總體任

14、務(wù)設(shè)計合適的類,滿足需求和任務(wù)實例化對象通過外部觸發(fā),驅(qū)動對象操作對象相互協(xié)同工作,共同完成軟件功能!對象交互封裝:隱藏實現(xiàn)細節(jié),公開某種功能作為與外界通信的通道消息傳遞:每個對象都具有特定功能,相對其他對象而言,它的功能就是為其他對象提供的服務(wù)人+按門鈴門鈴+發(fā)出聲音對象交互示例1 2-1模擬遙控器控制電視機開、關(guān)、換臺演示示例:模擬遙控器控制電視機電視機遙控器對象交互示例1 2-2public class RemoteControl /開機 public void TurnOn(Television tv) tv.Open(); /調(diào)用電視機對象的開機方法 /關(guān)機 public void

15、TunnOff(Television tv) tv.TurnOff(); /調(diào)用電視機對象的關(guān)機方法 /換臺 public void ChangeChannel(Television tv) Console.Write(請輸入頻道號:); string channelNo = Console.ReadLine(); tv.Change(channelNo); 指定交互的電視機對象對象交互示例2使用OOP方法模擬顧客點餐演示示例:模擬顧客點餐 常見錯誤/初始化客戶、服務(wù)員、廚師Client wang = new Client();/初始化點菜單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等.壓縮文件請下載最新的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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論