[問題] 請教有關物件導向

看板C_Sharp作者 (阿呆)時間9年前 (2015/07/19 10:08), 編輯推噓3(3016)
留言19則, 7人參與, 最新討論串1/1
各位大大好: 看書讀到物件導向章節,有些地方不太懂 想請教各位 有些物件需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

07/19 11:16, , 1F
msdn 或是 vs裡的物件瀏覽器
07/19 11:16, 1F

07/19 13:23, , 2F
你是想問語法還是觀念?
07/19 13:23, 2F

07/19 19:24, , 3F
你的說明不就是你的問題的答案嗎
07/19 19:24, 3F

07/20 13:07, , 4F
File是Static類別,無法建立物件,FileInfo是Non Static類
07/20 13:07, 4F

07/20 13:08, , 5F
別,所以要存取Member Function就要建立物件~~
07/20 13:08, 5F

07/20 13:09, , 6F
類別/物件/Static 成員/Non Static成員,你要先分清楚~~
07/20 13:09, 6F

07/20 21:30, , 7F
感謝樓上所以大大回應,我比較想了解為何static類別為何不
07/20 21:30, 7F

07/20 21:30, , 8F
用建立NEW物件即可使用,這地方我比較不懂,希望有人可告知
07/20 21:30, 8F

07/21 00:35, , 9F
https://goo.gl/vxgDMq 靜態類別和靜態類別成員(MSDN)
07/21 00:35, 9F

07/21 00:39, , 10F
以上文中的例子(Math類別),數學計算方法不若一個人、車、球
07/21 00:39, 10F

07/21 00:39, , 11F
需要被new一個實體出來才方便使用,因此設計成了靜態類別
07/21 00:39, 11F

07/21 00:41, , 12F
在首次被使用時,會自動在背景呼叫靜態建構函式,初始此類別
07/21 00:41, 12F

07/21 00:42, , 13F
並留存於記憶體中,後續呼叫則會繼續使用同一份(有誤請指正)
07/21 00:42, 13F

07/22 12:56, , 14F
樓上正確,static物件在全局是共享同樣記憶體的
07/22 12:56, 14F

07/22 12:57, , 15F
因此在程式啟動的時候,就被new出來放在全域記憶體堆疊
07/22 12:57, 15F

07/22 12:57, , 16F
07/22 12:57, 16F

07/22 12:58, , 17F
事後再new很快,是因為系統直接給你已經存在的static位
07/22 12:58, 17F

07/22 12:58, , 18F
置而已
07/22 12:58, 18F

07/28 23:00, , 19F
感謝樓上回覆,謝謝!
07/28 23:00, 19F
文章代碼(AID): #1LgmQFNZ (C_Sharp)