delphi助手類
阿新 • • 發佈:2020-12-05
delphi助手類
DELPHI2005及以上版本開始支援助手類。
用途:當我們想給一個類增加一個方法或者成員變數,但是這個類又被很多單元引用了,我們直接去該這個類,肯定是很不明智的,怎麼辦?
如果是類,繼承一下就OK了。但是如果是結構體呢?其實這個關鍵更像是為結構體準備的。
限制:類別助手最明顯的限制,就是我們每次對一個類別只能使用一個助手(保證其唯一性)。
如果編譯程式發現了有兩個助手類別,第二個助手類別就會把第一個給取代掉。所以也沒有任何方法可以對類別助手進行連鎖使用,也就是說我們不能對類別助手再製作另一個類別助手。
Type TMyClass= Class Procedure MyProc; Function MyFunc: Integer; End; .. . Procedure TMyClass.MyProc; Var X: Integer; Begin X:= MyFunc; End; Function TMyClass.MyFunc: Integer; Begin .. . End; 接下來就是它的助手類了. Type TMyClassHelper= Class Helper For TMyClass Procedure HelloWorld; Function MyFunc: Integer; End; .. . Procedure TMyClassHelper.HelloWorld; //新增的新方法 Begin Writeln(Self.ClassName); End; Function TMyClassHelper.MyFunc: Integer; //覆蓋原方法 Begin .. . End; 使用: Var X: TMyClass; Begin X:= TMyClass.Create; X.MyProc; // 呼叫TMyClass.MyProc X.HelloWorld; // 呼叫 TMyClassHelper.HelloWorld X.MyFunc; // 呼叫TMyClassHelper.MyFunc End.