Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.443 Beiträge
 
Delphi 12 Athens
 
#14

AW: Fluent Interface - keine Vererbung möglich?

  Alt 2. Nov 2017, 09:22
Und dann? Nach dem ersten Aufruf von TuEtwas funktioniert das auch nicht mehr (zumindest ohne expliziten Typecast).
Um einen solchen Typecast zu machen, müsste man schon sicherstellen, daß die erhaltene Instanz auch vom richtigen Typ ist. Für den Fall, daß TuEtwas lediglich Self zurückgibt, ist das noch einfach. Allerdings braucht man dann auch keinen Typecast, sondern kann ebenfalls Self zurückgeben. In allen anderen Fällen ist das stark von der Implementation von TuEtwas abhängig. Insbesondere, wenn TuEtwas eine neue Instanz erzeugt, kann man nicht blind davon ausgehen, daß diese auch vom richtigen Typ ist.

In manchen Fällen wird man nicht drum herum kommen, die Funktionalität von TuEtwas zumindest leicht verändert nachzubilden. Dann kann man es aber auch gleich TuEtwas nennen und die geerbte, eigentlich nutzlose Methode gezielt verstecken.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat