This post has been edited 2 times, last edit by "dfex" (Jul 26th 2006, 2:32pm)
Quoted
Original von dfex
...wie eine Superklasse Änderungen an ihren Subklassen mitbekommt.
Source code |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
class Super { ... public void fn() { fn_implementierung(); reagiereAufÄnderungen(); } protectd void fn_implementierung() {nix} } class Sub : extends Super { protectd void fn_implementierung() {doSomething();} } |
This post has been edited 1 times, last edit by "DrChaotica" (Jul 27th 2006, 6:31pm)
Quoted
Original von kakTuZ
Eine andere recht einfache möglichkeit wär wohl, die Funktionsaufrufe der Subklassen zu kapseln. Funktioniert aber nur, wenn das ganze Polymorph verwendet wird.
Quoted
Original von Hogi
... mit aspectj ist das so unendlich viel einfacher ...
Quoted
Original von Hogi
der default-konstruktor der superklasse durchläuft mit getClass().getDeclaredMethods() alle methoden, auch die der subklasse, und überprüft, ob bei deren aufruf der notifier korrekt aufgerufen wird.
Quoted
Original von Hogi
ein anderer weg könnte sein, mit JUnitTest einfach einen testfall für jede methode und jede variable zu erstellen ...
Quoted
Original von dfex
Quoted
Original von Hogi
der default-konstruktor der superklasse durchläuft mit getClass().getDeclaredMethods() alle methoden, auch die der subklasse, und überprüft, ob bei deren aufruf der notifier korrekt aufgerufen wird.
hmm, das hört sich nach einem netten Ansatz an. Wie stelle ich denn sicher, dass der Notifier dann auch in den Methoden steckt, wenn ich sie als MethodenObjekte vorliegen habe? Da stehe ich wohl gerade auf dem Schlauch