Einzelnen Beitrag anzeigen

Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Frage zum Decorator Muster

  Alt 4. Jul 2007, 23:30
äußerst komisches design pattern...

auf jeden fall betreibst du hier rekursives wrapping. das heißt, irgendwo muss du die zeile

description := 'blablubb' + ActGetraenk.description; haben. Mal sehen...

Getraenk.Getbeschreibung wird durch Zutatendekorier.Getbeschreibung verdeckt. Mach Getraenk.GetBeschreibung virtuell. (nur virtual dranhängen, kein abstract) Zutatendekorier.Getbeschreibung muss dann mit einem override versehen werden.

Jop, das ist auch schon des lösungs rätsel. tu was ich dir sage und alles wird wie von zauberhand funktionieren.

Das Problem ist, wenn du auf Getraenk1.GetBeschriebung zugreifst, wird dir immer der Name des Getraenks (der string, der in Beschreibung steht) geliefert. Da der Compiler nur weiß, dass er ein Getraenk hat. Und er greift auf die statische Methode Getraenk.GetBeschreibung zu.

(warum bei dir eine leere beschreibung kommt weiß ich nicht. ich vermute mal versionsprobleme, nämlich dass du in der ausgeführten version eine Leerstring in Getraenk.GetBeschreibung zurücklieferst)

EDIT: hab "beschreibung" übersehen. posting korrigiert.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat