精華區beta Programming 關於我們 聯絡資訊
> ==>發信人: Wiseman.bbs@bbs.cs.nthu.edu.tw (), 信區: programming > ※ 引述《tester.bbs@bbs.csie.ncu.edu.tw (try or test)》之銘言: > > 自認對 OO 精通的人應該要能回答 gsj 的質疑才是, 否則 OO 就如其音, > > 黑黑來, 黑黑去, 黑壓壓的一片. > 那你何時看到gsj 回答大家的質疑了 ? > > 在 object 封裝的內部對 data , code 是可以雜亂交錯, 你中有我, > > 我中有你那樣的混在一起, 還是分堆但包在封袋裡 ? 顯然 gsj 指出 > > 了 OO 讓人看不清楚無法理解的一面. > 我想並非gsj 指出OO讓人不清楚的一面 > 正確的說是gsj的言論讓人發現 "他根本不了解OO". > 由不了解的人去解釋 結果當然就是更讓人不了解 Abstract data type 的觀念就是 Object 的一種, 只是 OOP 更強調要把 data 與其相關的 methods 擺在 class object 之內封裝, 這不僅僅是分 割清楚容易維護, 可以分散再用, 還可進一步 abstraction 提升, 因此 複雜度降低, 容易理解. > > 如果程式語言與電腦的實體是不對稱的, 那這個質疑是有道理的, 這 > > 不能用 abstraction 一筆帶過, 否則會被懷疑 OOP 是有效率的嗎 ? > 所以你只要是拿筆寫字 不管什麼筆你都會寫 > 這些觀念類比到OO就是多型與介面的觀念 > 話就講到此了 > 如果你還是覺得程式非得要與硬體"對稱"的話 > 那你還是改行寫driver 吧 就以 PC 的 Disk Driver 為例, 不管那個廠牌, 容量都是單一入口與 界面的, 都是同樣類似的 method , 處理的對象都是 sector data 與 disk device, 還道地符合 OO 的概念咧 ! 寫 driver 用高階語言不方便是因為 interrupt 與 DMA 的動作與對象 要特別處理而已. 程式都是用來控制硬體的, 正確運作的程式何來不對映 ? 或對不攏 ? 那麼不對稱是何所指 ? 比重 ? 大小 ? 速度 ? 還是直線不走繞遠路 ? 還 是牛刀對上了雞 ? -- ◎ Origin: 中央松濤站□bbs.csie.ncu.edu.tw From: 140.115.6.234