Re: [問題]public int 變數 {get{}set{}} 的意思?
※ 引述《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
07/21 00:36, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):