※ 引述《richliu.bbs@bbs.poorman.org (新的人生)》之銘言:
: 看起來你應該是那一個腦袋不是很清楚的.
: OO 和你所謂 "循序化"程式 的想法就是不一樣.
: 拿個最簡單的, 你的循序化程式怎麼管理 Memory Allocate
: 所有的 struct 都要自己寫 function 去 malloc()
: 等到不用了, 再呼叫 free()
: 在 OO 的世界內, 只要你的 class 寫好了 new/delete
: 物件生成的時候, 自然就會 new ,
: 物件消失時, 自然就會 delete
: Memory 的控管一切都是這麼自然, 就像大自然萬物生老病死.
: 這是 OO 帶給初學者最美妙的禮物.
: 你所謂的 "循序化" 程式要控制 Memory . 你能夠準確的了解 struct 的生與死嗎?
以這樣的想法去寫目前實作出來的OO,你的程式會死得不明不白…
即使是OO,變數也是有生命週期的,不考慮這問題而把責任交給OO,沒想過這責任
也不是由語言在做,而是OS階層的問題嗎?
變數要new就要有delete,除了java這類有GC的語言外,OO並不會幫你完成這些事。
無論是哪種coding style,都應該要清楚了解自己的程式做了什麼事。
這種把OO當成是不必動腦就能用的神奇工具的態度,正是讓人誤解OO的原因。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.22.3.203