精華區beta Programming 關於我們 聯絡資訊
※ 引述《tester.bbs@bbs.csie.ncu.edu.tw (try or test)》之銘言: : 自認對 OO 精通的人應該要能回答 gsj 的質疑才是, 否則 OO 就如其音, : 黑黑來, 黑黑去, 黑壓壓的一片. OO 具有封裝性呀 : 物件導向 或 OOP 不知是否有特別強調 "非循序式" ? 印象中至少不是被 : 列為是 parallel programming 或 concurrent high level language . : 學 OO 的要怎麼回答 ? OO 全然沒有推翻循序性 OO 是「建立在循序性上」的「程式碼管理哲學」與「工程實務」 : > 寫了那麼久的程式你還是不懂什麼是Abstraction... : > 以及OO跟event driven 是兩回事.. : > 我看你還是回去寫你的assembly language吧... : 在 object 封裝的內部對 data , code 是可以雜亂交錯, 你中有我, : 我中有你那樣的混在一起, 還是分堆但包在封袋裡 ? 顯然 gsj 指出 : 了 OO 讓人看不清楚無法理解的一面. OO 的物件為雜亂交錯的 data 與 code 提供了單純而平面化的操作介面 : 如果程式語言與電腦的實體是不對稱的, 那這個質疑是有道理的, 這 : 不能用 abstraction 一筆帶過, 否則會被懷疑 OOP 是有效率的嗎 ? : 不然就是效率的稍微(這也得具體說明)犧牲, 可換來那些更值得的東 : 東 ? 譬如 Interactive 的 interpreter 相對於 compiler , 另外, : 就是改善的趨勢會是甚麼 ? (譬如使用中間碼的 interpreter) OO 不是在討論程式執行的本質 循序化的執行早已是本然 OO 討論的是 data 與 code 的封裝性 物件的責任 物件間的關聯 介面的抽象性 ... 這些東西並不違反任何實體特質 討論的層次有所差異 「程式語言與電腦的實體是不對稱的」? 我們得先思維這個命題是否正確 OOP 沒有損害到程式的執行效率 相同的事 要用循序性語言來做 不見得會比較有效率 會慢是來自於 design 你不能說我要讓程式碼受良好管理而不付出任何成本 : 其次, 在那些地方或條件下, OOP 可以像一般的 C 使用 pointer : 那樣方便的 reference structured data (如 array 或 record) ? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.222.148.171
nosrep:恩~ 210.202.1.251 08/11