Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#29

AW: Pattern: Visitor

  Alt 19. Okt 2011, 15:14
Oh ja. Ich hatte übersehen, dass overload schon zur Compilezeit ausgewertet wird.

Dann dürfte aber der Code
Delphi-Quellcode:
// Unit A
 type
    IVisitor = interface
      procedure Visit(const x: TClass1); overload;
      procedure Visit(const x: TClass2); overload;
    end;
    TVisitableBase = class
      procedure AcceptVisitor(const v: IVisitor);
    end;
    TClass1 = class(TVisitableBase)
      // viele Methoden...
    end;
    TClass2 = class(TVisitableBase)
      // viele Methoden...
    end;
 
procedure TVisitableBase.AcceptVisitor(const v: IVisitor);
 begin
    v.Visit(self);
 end;
nicht kompilieren, da es ja keine überladene procedure Visit für TVisitableBase gibt - oder?
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat