作者hawfu (阿呆)
看板C_Sharp
標題[問題] 請教有關物件導向
時間Sun Jul 19 10:08:13 2015
各位大大好:
看書讀到物件導向章節,有些地方不太懂
想請教各位
有些物件需new才可以建立實體,但有些物件本身是靜態不需new即可使用
ex:File (不需建立物件實體即可呼叫使用)
FileLnfo (需建立物件實體才可使用)
如何分辨那些物件是需要new才能變實體,那些物件(靜態)不需new即可使用
希望板上大大如果知道可以告知一下
謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.27.122.87
※ 文章網址: https://webptt.com/m.aspx?n=bbs/C_Sharp/M.1437271695.A.5E3.html
1F:→ soup514: msdn 或是 vs裡的物件瀏覽器 07/19 11:16
2F:推 YahooTaiwan: 你是想問語法還是觀念? 07/19 13:23
3F:→ GoalBased: 你的說明不就是你的問題的答案嗎 07/19 19:24
4F:→ wenyonba: File是Static類別,無法建立物件,FileInfo是Non Static類 07/20 13:07
5F:→ wenyonba: 別,所以要存取Member Function就要建立物件~~ 07/20 13:08
6F:→ wenyonba: 類別/物件/Static 成員/Non Static成員,你要先分清楚~~ 07/20 13:09
7F:→ hawfu: 感謝樓上所以大大回應,我比較想了解為何static類別為何不 07/20 21:30
8F:→ hawfu: 用建立NEW物件即可使用,這地方我比較不懂,希望有人可告知 07/20 21:30
10F:推 CiC: 以上文中的例子(Math類別),數學計算方法不若一個人、車、球 07/21 00:39
11F:→ CiC: 需要被new一個實體出來才方便使用,因此設計成了靜態類別 07/21 00:39
12F:→ CiC: 在首次被使用時,會自動在背景呼叫靜態建構函式,初始此類別 07/21 00:41
13F:→ CiC: 並留存於記憶體中,後續呼叫則會繼續使用同一份(有誤請指正) 07/21 00:42
14F:推 tedmax100: 樓上正確,static物件在全局是共享同樣記憶體的 07/22 12:56
15F:→ tedmax100: 因此在程式啟動的時候,就被new出來放在全域記憶體堆疊 07/22 12:57
16F:→ tedmax100: 中 07/22 12:57
17F:→ tedmax100: 事後再new很快,是因為系統直接給你已經存在的static位 07/22 12:58
18F:→ tedmax100: 置而已 07/22 12:58
19F:→ hawfu: 感謝樓上回覆,謝謝! 07/28 23:00