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

OOP 的疑惑

0 views
Skip to first unread message

ASD

unread,
Aug 1, 1997, 3:00:00 AM8/1/97
to

請教一下:

當我們在使用別人的類別時,比方使用別
人寫的 person 類別!

這個類別一定要在 標頭檔裡面嗎??????

可不可以用成 lib 然後只提供標頭檔
給別人用!!!

換句話說,我要問的就是一般我們所看到的
lib檔,裡面有類別定義的存在嗎????還是說
它裡面只有函式而已,而類別必需在標頭檔
定義,然後讓使用者 include???

因為我看到mfc頭暈了!! 光是一大堆奇奇怪怪
的變數名稱,就死一半了,所以我認為oop並非
傳言中的美妙!! 所謂程式再利用,也是要使用者
花很大的苦心才會利用,並非一句[繼承]就了事!

--
※ Origin: 台中市教育局大台中站(bbs2.tceb.edu.tw) ◆ From: bone1-10.thu.edu.t

熊貓

unread,
Aug 2, 1997, 3:00:00 AM8/2/97
to

《 在 pickk...@bbs2.tceb.edu.tw (ASD) 的大作中提到: 》
: 請教一下:

: 當我們在使用別人的類別時,比方使用別
: 人寫的 person 類別!
: 這個類別一定要在 標頭檔裡面嗎??????
: 可不可以用成 lib 然後只提供標頭檔
: 給別人用!!!
: 換句話說,我要問的就是一般我們所看到的
: lib檔,裡面有類別定義的存在嗎????還是說
: 它裡面只有函式而已,而類別必需在標頭檔
: 定義,然後讓使用者 include???
: 因為我看到mfc頭暈了!! 光是一大堆奇奇怪怪
: 的變數名稱,就死一半了,所以我認為oop並非
: 傳言中的美妙!! 所謂程式再利用,也是要使用者
: 花很大的苦心才會利用,並非一句[繼承]就了事!

不管你用什麼方式來寫,要用別人的副程式或者類別之前你都必須
把它的定義include進來,如此編譯你程式的complier才知道要產生
一些資訊給Linker或Loader以便將此副程式的主體連結進你的程式
你也才能使用這個副程式,所以lib裡沒有定義,只有副程式或類別
主體已經經過編譯後的二元碼

我想你尚未領略oo的寫法才會如此說的,oo只是一種寫程式的觀念,
它把資料以及操作此資料的方法包裝起來,凡是對資料的動作都得
經過它所定義的方法才行,如此避免你不小心去改到這個資料的內
容,在偵錯的時候也比較好偵錯,oo利用繼承關係讓你可以重複使用
別人寫好的東西,只在須要的時候增加自己的東西,如此你不必重寫
每一個code,也可以減少發展程式的時間,這都是oo程式比一般程序
性程式語言好的性質........

還有必須補充的是,mfc是一套彼此關係很密切的類別庫,它不代表oo
它只是利用oo來使視窗程式好寫一點,所以mfc複雜難學是可以理解
的,不過等到你熟悉了mfc所架構的方式,你會發覺他還蠻不錯的,考
慮的蠻周詳的,只要熟悉了,你會覺得越寫會越順,真的........

心靜自然--說一下心得

--
~~~ 心靜的 Panda ~~~ 舍利子,是諸法空相,不生不滅,不垢不淨,不增不減,是故空中
~~ 自然的 Panda ~~ 無色,無受想行識,無眼耳鼻舌身意,無色聲香味觸法,無眼界,
~ 清涼的 Panda ~ 乃至無意識界,無無明,亦無無明盡,乃至無老死,亦無老死盡,
無苦集滅道,無智亦無得,以無所得故,菩提薩埵............
Panda 重出江湖 #心靜自然重出江湖# pa...@islab1.iie.ncku.edu.tw

[m [1;36m※ 來源:‧蛋捲廣場 bbs.tku.edu.tw‧[FROM: is186.iie.ncku.] [m

我愛冀兒

unread,
Aug 2, 1997, 3:00:00 AM8/2/97
to

==> pickk...@bbs2.tceb.edu.tw (ASD) 在文章中提到:

: 請教一下:
: 當我們在使用別人的類別時,比方使用別
: 人寫的 person 類別!
: 這個類別一定要在 標頭檔裡面嗎??????
: 可不可以用成 lib 然後只提供標頭檔
: 給別人用!!!
: 換句話說,我要問的就是一般我們所看到的
: lib檔,裡面有類別定義的存在嗎????還是說
: 它裡面只有函式而已,而類別必需在標頭檔
: 定義,然後讓使用者 include???
: 因為我看到mfc頭暈了!! 光是一大堆奇奇怪怪
: 的變數名稱,就死一半了,所以我認為oop並非
: 傳言中的美妙!! 所謂程式再利用,也是要使用者
: 花很大的苦心才會利用,並非一句[繼承]就了事!
我想大家都被MFC OWL等FRAMEWORK的產品所迷惑住了
誠然MFC可以為你架構大型程式所必備的程式碼 但你能對他整個訊息流程掌握多少
不只一本書提到 當你對MFC有個初步的瞭解時 相信是半年後了
追本溯源 WINDOWS PROGRAMMING 還是在WINODWS API上 OO只是策略 手段~~~
你去看Charles Petzold那本書 開宗明義就提到他不願意以OO的方式來寫那本書


--
[m※ 來源:‧ [1;34;47m成大工科忘情小築 [0m bbs.es.ncku.edu.tw‧[FROM: 140.116.39.233] [m

B型褲鴿

unread,
Aug 3, 1997, 3:00:00 AM8/3/97
to

==> 在 fgche...@bbs.es.ncku.edu.tw (我愛冀兒) 的文章中提到:
> ==> pickk...@bbs2.tceb.edu.tw (ASD) 在文章中提到:

> 我想大家都被MFC OWL等FRAMEWORK的產品所迷惑住了
> 誠然MFC可以為你架構大型程式所必備的程式碼 但你能對他整個訊息流程掌握多少
> 不只一本書提到 當你對MFC有個初步的瞭解時 相信是半年後了
> 追本溯源 WINDOWS PROGRAMMING 還是在WINODWS API上 OO只是策略 手段~~~
> 你去看Charles Petzold那本書 開宗明義就提到他不願意以OO的方式來寫那本書

小弟贊同您部分的講法.
因為學好SDK或者是學C++ + MFC平均皆約要半年,可是後者日後的生產力恐怕會高出很多.
如果OO + C++有學通,學MFC或許說舉手之勞有點誇張,但也相去不遠!而且不太可能
會對訊息掌握不清的.
但反之如果只學會了使用MFC,那是否搞通OO大有問題,對訊息流程掌握多少也可疑.
對不起,小弟是OO基本教意派.

--
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧ ∩〃∩
◤身如行雲流水,心像皓月浮雲◥ ( O o )
‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧≡︿♀︿� 風子 NTIT ︵ ‧
bad...@ailab2.et.ntit.edu.tw \(..)/
badbo...@bbs.cis.nctu.edu.tw ( ● )
--
* Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>

我愛冀兒

unread,
Aug 3, 1997, 3:00:00 AM8/3/97
to

==> badbo...@bbs.cis.nctu.edu.tw (B型褲鴿) 在文章中提到:
: ==> 在 fgche...@bbs.es.ncku.edu.tw (我愛冀兒) 的文章中提到:

: > ==> pickk...@bbs2.tceb.edu.tw (ASD) 在文章中提到:
: > 我想大家都被MFC OWL等FRAMEWORK的產品所迷惑住了
: > 誠然MFC可以為你架構大型程式所必備的程式碼 但你能對他整個訊息流程掌握多少
: > 不只一本書提到 當你對MFC有個初步的瞭解時 相信是半年後了
: > 追本溯源 WINDOWS PROGRAMMING 還是在WINODWS API上 OO只是策略 手段~~~
: > 你去看Charles Petzold那本書 開宗明義就提到他不願意以OO的方式來寫那本書
: 小弟贊同您部分的講法.
: 因為學好SDK或者是學C++ + MFC平均皆約要半年,可是後者日後的生產力恐怕會高出很多.
: 如果OO + C++有學通,學MFC或許說舉手之勞有點誇張,但也相去不遠!而且不太可能
: 會對訊息掌握不清的.
: 但反之如果只學會了使用MFC,那是否搞通OO大有問題,對訊息流程掌握多少也可疑.
: 對不起,小弟是OO基本教意派.
Charles Petzold並非說OO不好,而是你我都知道OO的抽象封裝過程包含了太多人為的意念
今天張三對這個物件的看法 跟李四可能會不一樣 甚至會差距甚遠 格格不入
因此當他寫下這本書是以教導windows programming,而不是灌輸他的教派意念
你想想 當你在TRACE MFC時 應該是先瞭解MFC的出發點 其考量 然後再去瞭解程式的意涵
這就像張三豐傳授太極拳給張無忌時 重意念不重拳招
所以Charles Petzold才會用SDK的方式來解說那些API 因為他不是在教導你寫大型程式
他也說過 這樣的方法最直接 也最powerful!!讀者最能以最快的方式吸收
OO,WINDOWS API就像九陽神功 是基本功
MFC,OWL就像乾坤大挪移 太極劍意 當你基本功紮實時 學這些像倒吃甘蔗

小璋璋

unread,
Aug 3, 1997, 3:00:00 AM8/3/97
to

※ 引述《badbo...@bbs.cis.nctu.edu.tw (B型褲鴿)》之銘言:

: 小弟贊同您部分的講法.
: 因為學好SDK或者是學C++ + MFC平均皆約要半年,可是後者日後的生產力恐怕會高出很多.
: 如果OO + C++有學通,學MFC或許說舉手之勞有點誇張,但也相去不遠!而且不太可能

學 SDK 依我看一個月還嫌太多,主要對訊息導向弄懂!其它
時間買一本api bible慢慢查就夠了!
--
※ Origin: 台中市教育局大台中站(bbs2.tceb.edu.tw) ◆ From: dialup6.thu.edu.tw

B型褲鴿

unread,
Aug 4, 1997, 3:00:00 AM8/4/97
to

==> 在 fgche...@bbs.es.ncku.edu.tw (我愛冀兒) 的文章中提到:
>Charles Petzold並非說OO不好,而是你我都知道OO的抽象封裝過程包含了太多人為的意念
I see.
>...
>MFC,OWL就像乾坤大挪移 太極劍意 當你基本功紮實時 學這些像倒吃甘蔗
比喻的很傳神!

==> 在 (小璋璋) 的文章中提到:


>學 SDK 依我看一個月還嫌太多,主要對訊息導向弄懂!其它
>時間買一本api bible慢慢查就夠了!

學東西,每個人背景不同,敏感度也不一樣,有人快有人慢,當是一個c經驗豐富
的人學SDK可能駕輕就熟,只要一本api bible加examples就嚇嚇叫了!
可是對大部分的初學者,複雜SDK真是一場夢魘,能開始寫出一個像樣的程式,
需半年的光陰一點也不假,書上的大師也多這麼認為,當然天資聰穎的人,
不在此限.

uff...@ms6.hinet.net

unread,
Aug 8, 1997, 3:00:00 AM8/8/97
to

引述 yuanch...@bbs2.tceb.edu.tw (小璋璋) 之銘言:

>※ 引述《badbo...@bbs.cis.nctu.edu.tw (B型褲鴿)》之銘言:
>: 小弟贊同您部分的講法.
>: 因為學好SDK或者是學C++ + MFC平均皆約要半年,可是後者日後的生產力恐怕會高出很多.
>: 如果OO + C++有學通,學MFC或許說舉手之勞有點誇張,但也相去不遠!而且不太可能
>

> 學 SDK 依我看一個月還嫌太多,主要對訊息導向弄懂!其它
> 時間買一本api bible慢慢查就夠了!

插花一下
這點小弟舉雙手贊同,不過大個哥能否介紹一本"中文"書給小弟 :)


小璋璋

unread,
Aug 8, 1997, 3:00:00 AM8/8/97
to

※ 引述《uff...@ms6.hinet.net》之銘言:
: 引述 yuanch...@bbs2.tceb.edu.tw (小璋璋) 之銘言:
: > 學 SDK 依我看一個月還嫌太多,主要對訊息導向弄懂!其它

: > 時間買一本api bible慢慢查就夠了!
: 插花一下
: 這點小弟舉雙手贊同,不過大個哥能否介紹一本"中文"書給小弟 :)

VC++ 的 on line help
programming windows95 有中文本
但是覺得這本書寫得不好,因為示義圖太少,
有時跟本很吃力!

API的工具書,好像沒有中文的!!
外文的倒是不少!
--
※ Origin: 台中市教育局大台中站(bbs2.tceb.edu.tw) ◆ From: bone2-2.thu.edu.tw

LIAUIHUI

unread,
Aug 13, 1997, 3:00:00 AM8/13/97
to

傳統的 stdio lib 在unix ,dos , windows
都可行,也不須要看其source code才會用
也不須要學個一年,半年
mfc 號稱封裝 繼承 動態多形 軟體ic
對不起呦 那僅適用於 window 環境
MS 牌視窗才有效
在使用這些ic時,你必需打開其封裝
研究其內部的線路
然後與你的source ,couple 在一起
當然啦像這種大名牌的ic內部是不應該有錯
所以發生問題一定是你不當(不會)使用
或是專家的書看的不多
如果是隨插即用,大幅提高生產力,那怎能算專家呢
慪應該說是MFC專家必竟OWL專家要較少
雖然他們常嚷嚷說OWL比較有OOP的精神
不過人家就是不採用比較OOP的產品啊
更別談 reuse 了
不對阿 ? mfc 未出生之前就有人在談OOP
應該說是framework
反正老外定標準咱們跟隨

0 new messages