1. 程式人生 > 實用技巧 >delphi助手類

delphi助手類

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.