Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#5

Re: Funktionen als Parameter übergeben

  Alt 1. Aug 2006, 18:01
Hi,
ich möchte hier nur kurz noch den OOP Ansatz der Vollständigkeit halber zugeben:
Du kannst so was natürlich auch immer in einem Interface/einer abstrakten Klasse einführen und dann verwenden:

Delphi-Quellcode:
type
  TAbstractComputer = class(TObject)
    public
      function compute(x : Real) : Real; virtual; abstract;
  end;

  TConcreteComputer = class(TVorfahrTyp)
    public
      function compute(x : Real) : Real; override; // hier natürlich dein Implementierung
  end;
Ja, dann kannst du später einfach einen Aufruf mit einem beliebigen Nachfahren starten

Delphi-Quellcode:
procedure doFoo(const instance : TAbstractComputer);
begin
  if assinged(instance) then
  begin
    instance.compute(<Das Argument>);
  end;
end;
Das ganze entspricht dann einfach nur dem Objektorientierten Ansatz (den man überall dort verwenden müsste, wo es schon keine Funktionszeiger gibt). Ist sogar ein Designpattern (wie gesagt der Vollständigkeit halber)

Gruß Der Unwissende
  Mit Zitat antworten Zitat