Alternative zum Dekorierer-Muster



  • Hallo,
    ich nutze unterschiedliche grafische Objekte aus einem SDK, die ich um eine Physic-Engine erweitern möchte.

    Dabei bin ich auf das Dekorierer-Muster gestoßen.
    Ich würde mir also eine Klasse bauen, die die Schnittstelle der grafischen Objekte besitzt und die ein grafisches Objekt als Membervariable hält. Funktionsaufrüfe werden dann an die Membervariable weiter delegiert.

    Also sowas in der Art:

    void dekorierer::setzePosition(Punkt p)
    {
      setzePositionInPhysik(p)
      memberVariable->setzePosition(p);
    }
    

    Jetzt habe ich allerdings das Problem, dass das SDK nicht OpenSource ist und sehr viele notwendige Funktion nicht virtual sind. Somit würde also nicht meine Funktion aufgerufen werden, sondern die der Oberklasse.

    Hat jemand eine Idee, wie ich das Problem anders sinnvoll lösen kann?


Anmelden zum Antworten