Navigation überspringen

Nachrichten schicken in Java

Benötigtes Vorwissen

In Java kommunizieren Objekte über Nachrichten miteinander. Nachrichten wiederum sind Methodenaufrufe, die eine Anfrage eines Objekts A an ein Objekt B schicken. Die Methodenantwort kennzeichnet dann das Senden-Empfangen-Prinzip einer Kommunikation (Nachricht senden). Die Richtung dieser Nachrichtenwege sind planbar!

In UML als Klassendiagramm sieht der einfachste Nachrichtenaustausch zwischen zwei Objekten wie folgt aus. Die Beziehung ist nicht näher definiert bzw. eingeschränkt!

Anforderung:

Die beiden Objekte A und B sollen so geartet sein, dass sie belegt sein können. Durch Ihre Assoziation zueinander, sollen sie diesen Zustand dem jeweils anderen Objekt mitteilen können. Dies kann man beispielsweise so lösen:

public class ClassA {
    //nicht initialisiert = false
    private boolean belegt;
    public void setBelegt(){
        //toggle
        this.belegt = !this.belegt;
    }
    public boolean getBelegt(){
        return this.belegt;
    }
    public boolean frageObjBBelegt(ClassB obj){
        return obj.getBelegt();
    }
}
public class ClassB {
    //nicht initialisiert = false
    private boolean belegt;
    public void setBelegt(){
        //toggle
        this.belegt = !this.belegt;
    }
    public boolean getBelegt(){
        return this.belegt;
    }
    public boolean frageObjABelegt(ClassA obj){
        return obj.getBelegt();
    }
}

Auszug aus der main():

public static void main(String[] args) {
        ClassA objClassA = new ClassA();        
        ClassB objClassB = new ClassB();
        
        if(objClassA.frageObjBBelegt(objClassB)){
            objClassB.setBelegt();
        }

}