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