函式可被複製嗎? |
尚未結案
|
neoaj23
一般會員 發表:35 回覆:7 積分:8 註冊:2003-09-12 發送簡訊給我 |
變數是可被複製的
a, b: Integer;
a := b; 那函式呢? TBooleanObj = procedure(aBool: Boolean) of Object;
AProc, BProc: TBooleanObj; AProc := BProc;
這樣是把BProc的指標只給AProc,當執行AProc時其實是執行BProc,若在做
AProc := BProc;之後BProc的變數內容有更改再座AProc時的變數一樣式更改過後的值,請問有無語法或方法能夠複製函式實體或函式實體內的變數?
|
Chance36
版主 發表:31 回覆:1033 積分:792 註冊:2002-12-31 發送簡訊給我 |
引言: 這樣是把BProc的指標只給AProc,當執行AProc時其實是執行BProc,若在做 AProc := BProc;之後BProc的變數內容有更改再座AProc時的變數一樣式更改過後的值,請問有無語法或方法能夠複製函式實體或函式實體內的變數?neoaj23 你好 1.函式或程序是儲存在記憶體或磁碟(尚未載入)一堆可達成某些目的的機械碼,它是經過編譯器依我們所寫的程式碼編譯而成的,所以其內容是不能修改的,但能不能複製呢?如果你懂低階的記憶體的操作的話,或許可以複製,但有何意義呢? 2.對於物件的方法,卻可透過繼承、覆載等技巧來達成變更你所說函式變更 引言: TBooleanObj = procedure(aBool: Boolean) of Object; 這個是物件的Procedure就是所謂的方法啦 AProc, BProc: TBooleanObj; 而這個變數是指向TBooleanObj物件方法的指標3.這部份是實作物件的事件時使用的技巧(一般程式內也可利用此技巧),先宣告一個物件的方法(限定方法的參數型態、個數及傳回值的型態),在元件內部即可判斷代表該事件的變數(如上AProc,BProc)是否為nil就知道該事件是否要做額外的工作 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |