Etwas offtopic, da es nicht mehr um den MV geht, aber ich möchte jetzt wirklich etwas dazu lernen.
Erklärt mir mal (ggf per pn), wie ihr folgendes Problem in Java lösen würdet.
Angenommen wir haben folgendes vorhandenes Skript:
(zunächst Ruby)
Ich möchte die Formel für die Geschwindigkeit ändern. Da das ganze ein Plugin werden soll, will ich nicht bereits bestehenden Code verändern, sondern nur neuen hinzufügen.
Desweiteren gibt es ja vielleicht mehrere verschiedene Plugins, die beide die Klasse GameActor manipulieren sollen, ich kann also auch nicht einfach die Klasse GameActor durch eine neue ersetzen.
In Ruby reicht ein neues Script mit
dadurch wird nur die speed Methode überschrieben.
Wie würde man soetwas in Java lösen?
Vergleichbare Klasse in Java:
Mein erster Ansatz wäre wie Pepo Vererbung zu benutzen. zB
Jetzt muss ich aber überall, wo ein GameActor Objekt erzeugt wird, stattdessen ein MyGameActor Objekt erzeugen.
Ich muss also doch bereits bestehenden Code verändern. Außerdem habe ich nun das Problem, dass bei verschiedenen Plugins, die die Klasse verändern, jedes Plugin eine eigene Unterklasse von GameActor verwenden will.
Was für andere Wege Methoden zu ersetzen gibt es? Ich weiß man kann auf Methoden von Klassen zugreifen, ich kenne aber keinen Weg, sie direkt zu ersetzen.
setMethod gibts ja leider nicht...