Code zur Laufzeit ändern

RealHAZZARD

Erfahrenes Mitglied
Hallo,
eigentlich habe ich vor, mit zu bekommen, wenn sich in einer Klasse (mit Feldern, eigentlich ohne Getter und Setter) ein Feld ändert. Allerdings wollte ich die Klasse an sich unverändert lassen. Daher meine erste Frage:
Kann ich irgendwie die Felder abhören, ohne den Code an dieser Klasse vor der Laufzeit zu ändern?(also nur zur Laufzeit)

Da ich aber glaube, dass das wohl nicht geht, gleich die zweite Frage:
Angenommen man baut sich in dieser Klasse doch die Getter und Setter, will da aber auch nichts als das Return oder Feld-setzen machen.
Kann man in eine solche Methode...
Java:
public void setIrgendwas (int neuesIrgendwas){
    irgendwas = neuesIrgendwas;
}

...zur Laufzeit um Code erweitern? So in etwa:
Java:
public void setIrgendwas (int neuesIrgendwas){
    this.notifyObservers(neuesIrgendwas);
    irgendwas = neuesIrgendwas;
}


Muss ja nicht der Observer sein, man kann es ja auch mit PropertyChangeListener machen. Ich hoffe ich konnte mein Problem einigermaßen rüberbringen.
Danke schon mal.
 
Hallo,

ich denke auch, dass AOP das ist was du brauchen könntest. Du musst aber nicht unbedingt AspectJ verwenden, z. b. kann sowas auch.

MFG

zEriX
 
Danke für die schnellen Antworten.
Sry für die späte Antwort.
Ich werde es demnächst ausprobieren. Der eine Link mach einen guten Eindruck. Den schau ich mir dann mal an.
 
Zurück