Einzelnen Beitrag anzeigen

Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.429 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Mischen von Interface- und Klassenreferenzen

  Alt 21. Mär 2018, 14:04
Namenloser hat das richtig dargestellt.

Die Factorymethode hat nur eine Aufgabe, das Interface-Objekt zu erstellen.
Das fertige Objekt als Interface zu verwenden, gehört nicht zu dieser Aufgabe.
Wenn das erfoderlich ist, sollte man in zwei Methoden trennen.
Delphi-Quellcode:
function CreateFoo: IFoo;
var
  TmpFoo: TFoo;
begin
  // Instanz der Klasse TmpFoo erzeugen, die von TInterfacedObject abgeleitet ist und IFoo implementiert
  TmpFoo := TmpFoo.Create();
  // diverse Properties setzen die nicht Teil des IFoo Interface sind
  TempFoo.X := 1;
  // ...

  // Interface zurückgeben
  Result := TmpFoo;
end;

function CreateAndInitFoo: IFoo;
begin
  Result := CreateFoo;
  DoSomethingWithFoo(Result);
end;
  Mit Zitat antworten Zitat