Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

請教,OOP的需求性?

0 views
Skip to first unread message

戰斧一枚2100萬 !?

unread,
Mar 22, 2003, 10:14:28 AM3/22/03
to
我是一個剛踏入OOP的程式新手,目前學習的項目有JAVA以及C++

這兩個物件導向的語言,另外在PHP的撰寫上面,也考慮要開始使用

其內建的class類別函數,把之前寫過的project重寫看看。

現在我有一些疑問,雖然OO在設計一個大型、需要分工的程式時

會很好用,但是對於一些小程式(也就是我以前寫過,用POP概念

寫出來的那些小程式)往往覺得,換成OOP來寫效能會不會受到影響?

因為利用主程式、副程式之間的叫用,比起定義類別、屬性、方法等等

來的是直接且迅速的多,由於我對compiler並不懂,不知道這兩種程式

設計方法在效能上的差異性,還煩請各位有經驗的大大們分享一下

你們在POP以及OOP程式設計之間所得到的心得以及經驗,尤其是

效能與debug部分,感謝~

--
[1;32m※ Origin: [33m超級光小站 [37m<SuperLight.twbbs.org> [m
[1;32m※ From : [36m61-224-161-141.HINET-IP.hinet.net [m

新年新希望

unread,
Mar 22, 2003, 11:59:21 AM3/22/03
to
《 在 SuperLight. 的大作中提到: 》
: 我是一個剛踏入OOP的程式新手,目前學習的項目有JAVA以及C++

: 這兩個物件導向的語言,另外在PHP的撰寫上面,也考慮要開始使用
: 其內建的class類別函數,把之前寫過的project重寫看看。
: 現在我有一些疑問,雖然OO在設計一個大型、需要分工的程式時
: 會很好用,但是對於一些小程式(也就是我以前寫過,用POP概念
: 寫出來的那些小程式)往往覺得,換成OOP來寫效能會不會受到影響?
: 因為利用主程式、副程式之間的叫用,比起定義類別、屬性、方法等等
: 來的是直接且迅速的多,由於我對compiler並不懂,不知道這兩種程式
: 設計方法在效能上的差異性,還煩請各位有經驗的大大們分享一下
: 你們在POP以及OOP程式設計之間所得到的心得以及經驗,尤其是
: 效能與debug部分,感謝~

C++ 的部分
我接觸了一些 恩 看了c++物件模型 認為C++ Compilier會將
C++的碼 轉換成C的碼....
嗯 效能呢 我認為不熟悉的話會受影響 但是如果老手 並不會

舉例來說 C++ 你得知道 non-static member function, static member function,
virtual function... 展開成C後的樣貌

static member data/member data/global data 在哪裡? structure/class 裡面?? :)

template的具現 generic or specialization...
繼承的代價 多重繼承的代價 ?? 等等.....

懂這些才能論效率吧....:)

DEBUG方面 有個東西 在C裡面叫 structure exception handler

C++ 的是專屬exception handler... 例如 try{} catch(...){}

Scott Meyers 說他實驗過了 code size 和performance 的 overhead 增加了
5%~25% 不等 你要使用時 請確定是否有那價值...

ps vc++ 我覺得這方面 bug 是應該不太會有 但是效能 我就不敢說了
:) MFC 裡面的collection class 用蠻多的 但是那些容器效率好像不怎樣ㄟ
當我玩過 STLPort的STL 得到的心得

感覺來說 遊戲規則變多了 但是我個人認為 學習的effort增加了許多
但是另一方面 還要擔心 專案用的編譯器 提不提供 Standard的編程語法??
例如VC++ 的Standard Library毛病很多 源碼又超難懂的
又不支援export關鍵字 template class 的member function宣告和定義非得寫在
同一個header file....

麻煩超多 但是我還是愛不釋手 :P

你有你的選擇 但是學習OOP/GP的付出是逃不掉的 up to u......



--
[m [1;34m※ 來源:‧蛋捲廣場 bbs.tku.edu.tw‧[FROM: 61.64.100.88] [m

魔騎士

unread,
Mar 23, 2003, 12:16:47 AM3/23/03
to
※ 引述《SuperLi...@superlight.twbbs.org (戰斧一枚2100萬 !?)》之銘言:

> 我是一個剛踏入OOP的程式新手,目前學習的項目有JAVA以及C++
> 這兩個物件導向的語言,另外在PHP的撰寫上面,也考慮要開始使用
> 其內建的class類別函數,把之前寫過的project重寫看看。
> 現在我有一些疑問,雖然OO在設計一個大型、需要分工的程式時
> 會很好用,但是對於一些小程式(也就是我以前寫過,用POP概念
> 寫出來的那些小程式)往往覺得,換成OOP來寫效能會不會受到影響?

設計一輛汽車,運用模組化建構非常方便.
但是,設計一顆輪胎,是否也一定要套用模組化設計?
譬如,車輪鋼圈拆解為四塊,拼裝起來才能用...

--
好康訊息!
Openfind 提供免費撥接電話:40508888
帳號:openfind 密碼:openfind
--
http://bbs.openfind.com.tw
※來源:203.67.*

...

unread,
Mar 26, 2003, 3:35:42 AM3/26/03
to
※ 引述《edwa...@bbs.openfind.com.tw (魔騎士)》之銘言:

> ※ 引述《SuperLi...@superlight.twbbs.org (戰斧一枚2100萬 !?)》之銘言:
> > 我是一個剛踏入OOP的程式新手,目前學習的項目有JAVA以及C++
> > 這兩個物件導向的語言,另外在PHP的撰寫上面,也考慮要開始使用
> > 其內建的class類別函數,把之前寫過的project重寫看看。
> > 現在我有一些疑問,雖然OO在設計一個大型、需要分工的程式時
> > 會很好用,但是對於一些小程式(也就是我以前寫過,用POP概念
> > 寫出來的那些小程式)往往覺得,換成OOP來寫效能會不會受到影響?
> 設計一輛汽車,運用模組化建構非常方便.
> 但是,設計一顆輪胎,是否也一定要套用模組化設計?
> 譬如,車輪鋼圈拆解為四塊,拼裝起來才能用...
如果輪胎只有一種那應該不用吧,
如果想在不同汽車上配上不同的輪胎,
當然輪胎的材質結構是不相同的,
輪胎就有必要做成一個Class ?
應該視Projrct主要內容而定....
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: neuron17.ee.ncku.edu.tw

每天都跟MM偷偷來!

unread,
Mar 26, 2003, 4:09:14 AM3/26/03
to
R Q
R
3R [
PR ILGJKLASDFGNL;ADFK'ASDGMWPSfo; wehitit
wr
wet
giwe
e
t
※ 引述《deck...@bbs.cs.nthu.edu.tw (...)》之銘言:
: ※ 引述《edwa...@bbs.openfind.com.tw (魔騎士)》之銘言:
: > 設計一輛汽車,運用模組化建構非常方便.

: > 但是,設計一顆輪胎,是否也一定要套用模組化設計?
: > 譬如,車輪鋼圈拆解為四塊,拼裝起來才能用...
: 如果輪胎只有一種那應該不用吧,
: 如果想在不同汽車上配上不同的輪胎,
: 當然輪胎的材質結構是不相同的,
: 輪胎就有必要做成一個Class ?
: 應該視Projrct主要內容而定....

--
[m [1;33;46m〒作者:icybox 來自:217203.D11-217.ncu.edu.tw [m
[1;36m◎二進位的世界 [37m【140.115.50.50‧binary.csie.ncu.edu.tw

魔騎士

unread,
Mar 28, 2003, 7:18:32 AM3/28/03
to
※ 引述《deck...@bbs.cs.nthu.edu.tw (...)》之銘言:
> ※ 引述《edwa...@bbs.openfind.com.tw (魔騎士)》之銘言:
> > 設計一輛汽車,運用模組化建構非常方便.
> > 但是,設計一顆輪胎,是否也一定要套用模組化設計?
> > 譬如,車輪鋼圈拆解為四塊,拼裝起來才能用...
> 如果輪胎只有一種那應該不用吧,
> 如果想在不同汽車上配上不同的輪胎,
> 當然輪胎的材質結構是不相同的,
> 輪胎就有必要做成一個Class ?
> 應該視Projrct主要內容而定....

那麼,閣下會以為像驅動程式這一類的,也適合套用物件導向設計以利擴充性?

--
好康訊息!
Openfind 提供免費撥接電話:40508888
帳號:openfind 密碼:openfind
--
http://bbs.openfind.com.tw

※來源:140.137.*

追憶似水年華

unread,
Mar 28, 2003, 9:45:52 AM3/28/03
to
※ 引述《edwa...@bbs.openfind.com.tw (魔騎士)》之銘言:
> 那麼,閣下會以為像驅動程式這一類的,也適合套用物件導向設計以利擴充性?

幫幫忙....什麼技術該用在什麼地方要搞清楚....~_~

--

[1;33;41m[Master Chang.]______________________________________________ [m
[1;33;44m企鵝寶寶工作隊 | http://3ybaby.v-club.net/ [m
[1;33;44m請大家幫忙翻譯KDE | http://i18n.linux.org.tw/ [m
[1;33;44m全像光學實驗室 | http://www.ccit.edu.tw/~c3hog/master.html [m
[1;33;44m_____________________________________________________________ [m
--
[1;32m※ Origin: [33mSayYA 資訊站 [37m<bbs.sayya.org> [m
[1;31m◆ From: [36mh112-213.dorm5.ccit.edu.tw [m

魔騎士

unread,
Mar 29, 2003, 4:55:28 AM3/29/03
to
※ 引述《Maste...@bbs.sayya.org (追憶似水年華)》之銘言:

> ※ 引述《edwa...@bbs.openfind.com.tw (魔騎士)》之銘言:
> > 那麼,閣下會以為像驅動程式這一類的,也適合套用物件導向設計以利擴充性?
> 幫幫忙....什麼技術該用在什麼地方要搞清楚....~_~
物件導向設計技術該用在什麼地方? 不該用在什麼地方?


--
好康訊息!
Openfind 提供免費撥接電話:40508888
帳號:openfind 密碼:openfind
--
http://bbs.openfind.com.tw

※來源:203.67.*

追憶似水年華

unread,
Mar 29, 2003, 6:11:05 AM3/29/03
to
※ 引述《edwa...@bbs.openfind.com.tw (魔騎士)》之銘言:
> ※ 引述《Maste...@bbs.sayya.org (追憶似水年華)》之銘言:
> > 幫幫忙....什麼技術該用在什麼地方要搞清楚....~_~
> 物件導向設計技術該用在什麼地方? 不該用在什麼地方?

不要玩文字遊戲,搞清楚自己在幹甚麼....

CBT

unread,
Mar 29, 2003, 3:17:21 PM3/29/03
to
※ 引述《edwa...@bbs.openfind.com.tw (魔騎士)》之銘言:
> ※ 引述《Maste...@bbs.sayya.org (追憶似水年華)》之銘言:
> > 幫幫忙....什麼技術該用在什麼地方要搞清楚....~_~
> 物件導向設計技術該用在什麼地方? 不該用在什麼地方?

看程式大小, 越大的越需要,
小型的程式不要說物件導向了, 有些連 function 都用不到 :p
你寫個九九乘法表需要用到 function 嗎?
如果堅持要用的話, 程式是變的簡單還是複雜呢?
driver 就是用不到 OO 的"小型"程式

這裏的大小不是指程式有幾行, 是說他的 complexity (不是 time complexity :p)

九九乘法表用 OO? 挺酷的, 1~9 每個數字都是一個物件,
然後二個物件相乘時我們用 abstract factory pattern
去取得相乘的 method.... 誰會這樣搞啊? (笑)
--
[0m [1;33m※ Origin: [36mYahoo!奇摩 大摩域 [37m<telnet://bbs.kimo.com.tw> [m
[1;35m◆ From: [1;32m1cust107.tnt3.troy.oh.da.uu.net [m

魔騎士

unread,
Mar 30, 2003, 9:39:11 AM3/30/03
to
※ 引述《Maste...@bbs.sayya.org (追憶似水年華)》之銘言:
> ※ 引述《edwa...@bbs.openfind.com.tw (魔騎士)》之銘言:
> > 物件導向設計技術該用在什麼地方? 不該用在什麼地方?
> 不要玩文字遊戲,搞清楚自己在幹甚麼....
誰玩文字遊戲?
既然前一個人說,什麼技術該用在什麼地方要搞清楚,
那麼,我真的很想搞清楚,這有什麼不對?
反而請你搞清楚自己在幹嘛才是!請問我所問的問題,哪一點算是
文字遊戲?

魔騎士

unread,
Mar 30, 2003, 9:41:58 AM3/30/03
to
※ 引述《meowh...@bbs.kimo.com.tw (CBT)》之銘言:

> 這裏的大小不是指程式有幾行, 是說他的 complexity (不是 time complexity :p)
> 九九乘法表用 OO? 挺酷的, 1~9 每個數字都是一個物件,
> 然後二個物件相乘時我們用 abstract factory pattern
> 去取得相乘的 method.... 誰會這樣搞啊? (笑)

99乘法表的確不需要用OO,
因為數字本身已經有足夠使用的操作方法,
也就是基本的+-*/

追憶似水年華

unread,
Mar 30, 2003, 11:04:39 AM3/30/03
to
※ 引述《edwa...@bbs.openfind.com.tw (魔騎士)》之銘言:
> ※ 引述《Maste...@bbs.sayya.org (追憶似水年華)》之銘言:
> > 不要玩文字遊戲,搞清楚自己在幹甚麼....
> 誰玩文字遊戲?
> 既然前一個人說,什麼技術該用在什麼地方要搞清楚,
> 那麼,我真的很想搞清楚,這有什麼不對?
> 反而請你搞清楚自己在幹嘛才是!請問我所問的問題,哪一點算是
> 文字遊戲?

摘錄 William 83 年【資訊路上的進階的良伴 -- 電腦雜誌】的一段話:
我發現,同樣的話也可用於電腦網路中。太多人過於依賴網路的便利性,只知把
問題丟上去,卻不肯好好在身邊、書局、圖書館中找尋參考資料。幾年來,碰過
許多人問的問題:有許多是翻一翻入門的書就會的,就是有的人懶得翻,硬要問
,當別人都很有空似的。有些是進階一點的問題,回答起來很長,我們又不是網
路張老師,沒這麼多時間,就告訴他們找什麼書、什麼電子文件就可以得到解答
,但還是有的人懶得去找去讀,硬要再三追問。這種情形遇多了,慢慢的也就懶
得再多費唇舌了。「小學而大遺」、「捨本而逐末」,不正是指這種現象嗎﹖

追憶似水年華

unread,
Mar 30, 2003, 11:03:44 AM3/30/03
to
※ 引述《edwa...@bbs.openfind.com.tw (魔騎士)》之銘言:
> ※ 引述《Maste...@bbs.sayya.org (追憶似水年華)》之銘言:
> > 不要玩文字遊戲,搞清楚自己在幹甚麼....
> 誰玩文字遊戲?
> 既然前一個人說,什麼技術該用在什麼地方要搞清楚,
> 那麼,我真的很想搞清楚,這有什麼不對?
> 反而請你搞清楚自己在幹嘛才是!請問我所問的問題,哪一點算是
> 文字遊戲?

OO的書那麼多,你不願意看書寫什麼卻跑來這問該用在哪裡!~?

該用在什麼地方??廢話!!當然是用在該用的地方.....~_~

0 new messages