一個觀念問題 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
請問各位! 我常看到以下的設計方式 function TForm1.xxxxxx: integer
var xxxx;
xxxx; procedure xxxxxxxx;
begin
end; begin
:
:
end; 1.在function中(或procedure), 又另外宣告一個 procedure(或function), 所代表的涵意是什麼?又在什麼情況下需要做如此的宣告定義?
2.這樣的執行效能是不是會比較好, 包括速度, 記憶配置, 穩定度等等
3.在其中的 procedure 是不是只有該fucntion可以call, 或者是在這個 form1上都可以call
我在很多書上查都沒有看到有人在說明這一項!
|
Jasonwong
版主 發表:49 回覆:931 積分:581 註冊:2006-10-27 發送簡訊給我 |
引言: 1.在function中(或procedure), 又另外宣告一個 procedure(或function), 所 代表的涵意是什麼?又在什麼情況下需要做如此的宣告定義? 這個就跟變數有分區域跟全域是一樣道理...在這邊就等於是一個區域的PROCEDURE... 情況就是...你確定這個PROCEDURE只有在這個函數內有用到...否則... 大部份的情況是很少有用到這種方式啦... 2.這樣的執行效能是不是會比較好, 包括速度, 記憶配置, 穩定度等等 我是覺得差不多啦... 3.在其中的 procedure 是不是只有該fucntion可以call, 或者是在這個 form1上都可以call 只有在該FUNCTION才可以CALL
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心 |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 1.在function中(或procedure), 又另外宣告一個 procedure(或function), 所 代表的涵意是什麼?又在什麼情況下需要做如此的宣告定義? [green] 這個就跟變數有分區域跟全域是一樣道理...在這邊就等於是一個區域的PROCEDURE... 情況就是...你確定這個PROCEDURE只有在這個函數內有用到...否則... 大部份的情況是很少有用到這種方式啦...謝謝說明, 不過我仍有點不解, 如果只在這個function內限用, 那這樣寫法有什麼好處, 因為我看佷多的source 都是有用到這個方式, 那只是在codeing方便嗎? 那為何不把 procedure 掛在 private 上就好了! 不好意思, 吹毛求疵哦! |
pprayer
高階會員 發表:35 回覆:185 積分:174 註冊:2002-03-13 發送簡訊給我 |
|
Jasonwong
版主 發表:49 回覆:931 積分:581 註冊:2006-10-27 發送簡訊給我 |
引言:我想是因為結構的簡潔...因為會用這種方式的...通常都是這個程序只有在這邊才有用的上...或者這個程序是因為某些情況特別去寫的...為了不和一些公用的函數混在一起... 這也要講到物件導向所用到的私有與公有的差別了...因為OO(物件導向)強調的是結構...整個物件就像是一個黑盒子...你只能看到人家開放的公共函數與方法...像一些私有的...你根本就看不到...也就是說...那一些私有的...你根本用不到...引言: 1.在function中(或procedure), 又另外宣告一個 procedure(或function), 所 代表的涵意是什麼?又在什麼情況下需要做如此的宣告定義? [green] 這個就跟變數有分區域跟全域是一樣道理...在這邊就等於是一個區域的PROCEDURE... 情況就是...你確定這個PROCEDURE只有在這個函數內有用到...否則... 大部份的情況是很少有用到這種方式啦...謝謝說明, 不過我仍有點不解, 如果只在這個function內限用, 那這樣寫法有什麼好處, 因為我看佷多的source 都是有用到這個方式, 那只是在codeing方便嗎? 那為何不把 procedure 掛在 private 上就好了! 不好意思, 吹毛求疵哦!
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心 |
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
[/quote]
我想是因為結構的簡潔...因為會用這種方式的...通常都是這個程序只有在這邊才有用的上...或者這個程序是因為某些情況特別去寫的...為了不和一些公用的函數混在一起...
這也要講到物件導向所用到的私有與公有的差別了...因為OO(物件導向)強調的是結構...整個物件就像是一個黑盒子...你只能看到人家開放的公共函數與方法...像一些私有的...你根本就看不到...也就是說...那一些私有的...你根本用不到...
[/quote] 非常感謝你的說明, 我大致了解了!
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |