看板 C_Sharp 關於我們 聯絡資訊
請教一下 不知道有沒有前輩使用這本書 在P214頁的地方 中間程式碼有一行 this.fancyDecorations = fancyDecorations; 這一行是多的嗎? 他這個public是長這樣 public DinnerPatty(int numberOfPeople, bool healthyOption, bool fancyDecorations) { NumberOfPeople = numberOfPeople; this.fancyDecorations = fancyDecorations; //--1 SetHealthyOption(healthyOption); CalculateCostOfDecorations(fancyDecorations);//--2 } 感覺1好像是多出來的 我拿掉之後,程式也是可以跑,也看不出來有什麼錯誤 這個bool fancyDecorations是個核取方塊,只會傳進true or false //--1 這邊做的是,把true or false讀進來 //--2 這邊做的是,如果是true or false讀進來做計算 所以我覺得把1拿掉,//--2 這邊還是會做計算 所以//--1我在想會不會是可有可無的? 然後 可是如果拿掉//--1這一行的話,就會被參數給覆蓋掉 但是他在表單中,他還寫了這段建構子的code public Form1(){ InitializeComponent(); dinnerParty = new DinnerParty((int)numericUpDown1.value, healthybox.Checked, fancyBox.Checked); DisplayDinnerPartyCost();//這個方法是說,每次只要核取方塊或是數值有改變就會更新 } 所以是說,因為他建構子裡面有寫這一段,更新的code 所以//--1拿掉是可以的嗎? 希望有這本書的前輩能指導一下 這一行是不是可有可無呢? 謝謝幫忙 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.123.56
s3748679:有不少書都有掛上深入淺出這東東吧.. 05/09 21:53
s3748679:從原Po給的線索來看,是需要的,二個fancyDecorations對 05/09 21:54
s3748679:項是不一樣的,一個為物件中的某成員,另一個則是參數。 05/09 21:55
if4:有掛this的是該類別的屬性,沒有則是該方法的參數,所以是必要的 05/09 22:19
if4:我的說法是來自JAVA,有沒有一樣,我就不知道了 05/09 22:27
bernachom:我使用的是OREILLY這本書 05/09 22:28
bernachom:我知道this指的是欄位,另一個是參數 05/09 22:28
bernachom:只是..我頭腦有點卡住了...為什麼兩個都要傳值QQ 05/09 22:28
bernachom:所以我試著把THIS那一行拿掉,結果也是可以跑的@@ 05/09 22:29
bernachom:所以想來詢問有前輩知道拿掉的問題在哪嗎..謝謝 05/09 22:29
s3748679:簡單的一個例子: http://ideone.com/MTeOV 05/09 23:12
bernachom:謝謝您,我研究一下,謝謝 05/09 23:21
※ 編輯: bernachom 來自: 114.42.123.56 (05/10 00:01)
s3748679:那DinnerPatty.fancyDecorations是拿來做什麼的..? 05/10 00:41
s3748679:如果用不到那就把那欄位刪了吧.. 否則還是有意義的。 05/10 00:42
bernachom:我是在想說..是不是他只是想表示比較札實的一種動作而已 05/10 00:47
bernachom:@@" 05/10 00:47
andymai:會設到欄位去就要看有沒有其他使用到的地方~並不是看當下 05/10 06:48
andymai:的方法沒用到就代表沒用~以這個例子來看~既然已經設定欄位 05/10 06:50
andymai:那就不需要在2那邊把參數傳過去~2的方法裡面直接取就好了 05/10 06:51
andymai:有先後順序的關係除外... 05/10 06:52