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.

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM