Beiträge durchsuchen

Helferklassen

Mit .NET wurde Delphi um das Konzept der unterstützenden Klassen (class helper) erweitert. Dabei handelt es sich um eine Klasse, die eine bereits bestehende Klasse erweitert bzw. abändert, ohne sie abzuleiten.

Beispiel:

type
 TMyClassHelper = class helper for TMyClass
   procedure MyProc;
 end;
...
procedure TMyClassHelper.MyProc;
begin
end;

Damit kann man auch die Prozedur MyProc an einer TMyClass-Instanz aufrufen. Hatte diese Klasse bereits eine gleichnamige Methode, wird die Methode der unterstützenden Klasse aufgerufen, da diese Vorrang hat.

Es ist programmiertechnisch sauberer, Vererbung anstelle von unterstützenden Klassen zu verwenden.