Re: [問題]public int 變數 {get{}set{}} 的意思?

看板C_Sharp作者 (svanavs)時間16年前 (2009/06/28 23:55), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《svanavs (svanavs)》之銘言: : 我想借題請問~ : property的寫法跟我在類別裡 : 寫兩個方法 : : public int getHour(){ : return hour; : } : public void setHour(int hr){ : hour = (hr>=0&&hr<24?hr:0); : } : 這種寫法看的人應該比較清楚吧 ? : Time t = new Time(); : t.setHour(24); : Console.WriteLine(t.getHour()); : 這樣效果是一樣的但是為什麼要有property這種方式存在呢 ? : 難道有什麼特殊效果是property特有的嗎 ? 以下轉自 : http://www.programmer-club.com.tw/showSameTitleN/csharp/6829.html 跟Get/Set方法比較,Property的好處是可以享用 Data Binding支援,例如: textBoxName.DataBindings.Add("Text", person, "Name"); 會把一個 textBoxName 的 "Text" Property,bind 到 person物件的 "Name" Property, textBoxName.Text <---bind---> person.Name 用 Property 就有這個好處,用 public data member 就沒有, 因為它不是個正當的物件導向技巧,所以 .Net 不支援。 用 Get/Set 也沒有,因為.Net 不會自動尋找這些方法名稱。 總括來說,Property 的好處是: 1) 簡化了存取的語法。 2) 可享用函數的好處。 3) 可享用 Data Binding 支援。 ========================================================= 所以,原來"Property"寫法跟TextBox或是Label物件中的"屬性" 是同一種東西啊~ 終於懂了~ 原來還有 DataBindings 這種功能~ -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.133.199.28

07/21 00:36, , 1F
Cong~ 不過 Property 本來就是屬性的意思啊XD
07/21 00:36, 1F
文章代碼(AID): #1AHvAA7r (C_Sharp)
文章代碼(AID): #1AHvAA7r (C_Sharp)