Hallo Zusammen,
ich bin gerade auf ein Problem gestoßen und glaube, dafür gibt es keine elegante Lösung. Aber vielleicht kommt Ihr doch weiter als ich:
Ich habe eine Klasse gefunden, die ich recht gut finde, und diese ist als Fluent Interface implementiert (es geht um Cesar Romeros
Rest Client). Wirklich schick für Rest-Aufrufe!
Aber wie das so ist, es fehlt doch immer etwas, was man gerne hätte
, und deshalb würde ich die Klasse gerne erweitern. Doch das scheint mit einem Fluent Interface nicht zu funktionieren. Das Problem liegt vereinfacht wohl daran:
Delphi-Quellcode:
TKlasseA = class
function TuEtwas: TKlasseA;
end;
TKlasseB = class(TKlasseA)
function TuEtwasAnderes: TKlasseB;
end;
Wenn ich nun die KlasseB erzeuge und aufrufe, etwa so:
Delphi-Quellcode:
Instance := TKlasseB.Create;
Instance.TuEtwas.TuEtwasAnderes;
Dann funktioniert das nicht, da
Instance
zwar beide Funktionen kennt, aber wenn ich
Instance.TuEtwas
aufrufe, erhalte ich nur TKlasseA zurück und das kennt natürlich
TuEtwasAnderes
nicht...
Kann man dann also, allgemein gesprochen, Klassen mit Fluent Interface nicht vererben? Oder gibt es doch einen Trickt?
Viele Grüße
Harald