Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
Delphi 2006 Professional
|
Re: Frage zum Decorator Muster
5. Jul 2007, 00: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
|