Designproblem: variable Funktionen für Derives



  • Ich habe eine Klasse für Einheiten. Die Einheiten sollen später zusätzliche Fähigkeiten erhalten, wie z.B. ein Haus bauen etc. . Wichtig ist aber, dass man alle Einheiten gleich behandeln kann (d.h. ich kann die Funktionen nicht einfach in die Klasse schreiben, außerdem ist das auch nicht erweiterbar). Ich konnte keine Lösung finden, die erweiterbar ist und mir ermöglicht alle Einheiten gleich zu behandeln, hat jemand eine Idee?

    thx im Voraus



  • Ich versteh ehrlich gesagt nicht ganz was du machen willst. Kannst du das näher ausführen?



  • Glamdrink schrieb:

    hat jemand eine Idee?

    Visitor ist deine Lösung



  • @Mastah: Ich will in der Klasse Warrior, die Funktionalität für alle Einheiten enthält, für die abgeleiteten Klassen die möglichkeit geben, sich gleich, wie die Basisklasse zu verhalten (muss ja sein, wenn man mit Warriorpointern arbeitet), aber noch spezielle Fähigkeiten hinzuzufügen.

    @ssm: Das ist zwar doof (ich rechne mit ca. 60 abgeleiteten Klassen) , aber möglich.



  • Glamdrink schrieb:

    @Mastah: Ich will in der Klasse Warrior, die Funktionalität für alle Einheiten enthält, für die abgeleiteten Klassen die möglichkeit geben, sich gleich, wie die Basisklasse zu verhalten (muss ja sein, wenn man mit Warriorpointern arbeitet), aber noch spezielle Fähigkeiten hinzuzufügen.

    Hört sich nach stinknormaler public Vererbung an.



  • Was spricht gegen virtuelle Funtkionen?



  • ich glaub, er hat olgendes problem:

    eine einheit kann zaubern,aber nicht bauen,eine andre arbeit kann häuserbauen, aber dafür nicht zaubern.
    das kriegt man mit public vererbung oder virtuelle funktionen normalerweise nicht unter einen hut(aufjedenfall wenn man beide einheiten vom gleichen interface steuern will)



  • Ich habs nochmal durchdacht, das ist nicht viel Arbeit.

    thx



  • otze schrieb:

    das kriegt man mit public vererbung oder virtuelle funktionen normalerweise nicht unter einen hut(aufjedenfall wenn man beide einheiten vom gleichen interface steuern will)

    Es sei denn, man gibt der Einheit mehr Verantwortung, sodaß sie sich selbst steuert. Denn Dann wird das Interface kleiner ung generischer.

    MfG Jester



  • @otze: ja, hast recht macht mehr Sinn.

    ----------------------------------------

    Wenn die Hierarchie in zwischen einiger maßen Stabil ist könnte Visitor tatsächlich die Lösung sein.


Log in to reply