OOP Konstruktormethode

Dogge

Aktives Mitglied
[Java]

import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;


public class MosaikEventHandler implements MouseListener {

private MosaikModel mosaikModel;


public MosaikEventHandler(MosaikModel mosaikModel) {
this.mosaikModel=mosaikModel;

}

private int zeile, spalte;

public void mouseReleased(MouseEvent me) {
zeile=((MosaikCanvas2)me.getSource()).getZeile();
spalte=((MosaikCanvas2)me.getSource()).getSpalte();
mosaikModel.switchNachbarn(zeile,spalte);
}

public void mouseClicked(MouseEvent e) {
// TODO Auto-generated method stub

}

public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub

}



public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub

}

public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub

}


}
[/code]

Bei der mouseRealeased-Methode wurde das Objekt mosaikModel verwendet ,ohne eine Konstruktormethode anzuwenden!

Darf man ein Objekt in einer anderen Klasse erzeugen und dann in einer beliebigen Klasse eines Packages verwenden? Eclipse beanstandet nichts.
 

njans

Top Contributor
Java:
private MosaikModel mosaikModel; // Exemplarvariable

public MosaikEventHandler(MosaikModel mosaikModel) {
        this.mosaikModel=mosaikModel; // Beim Erstellen des MosaikEventHandler bekommt die Exemplarvariableeine Zuweisung.
        
}
Anschließend greift eine andere Methode innerhalb der Klasse auf die Exemplarvariable zu.
Java:
 mosaikModel.switchNachbarn(zeile,spalte);

Das ist alles in einer Klasse, nur weil MosaikEventHandler eben ein Interface (MouseListener) implementiert, sind das nicht 2 verschiedene Klassen ;)
 

XHelp

Top Contributor
Du übergibst ja ein bereits "erzeuges" MosaikModel im MosaikEventHandler-Konstruktor. Warum solltest du es noch mal erzeugen müssen?
 

Dogge

Aktives Mitglied
Du übergibst ja ein bereits "erzeuges" MosaikModel im MosaikEventHandler-Konstruktor. Warum solltest du es noch mal erzeugen müssen?

Sorry, bis jetzt hab ich Objekte nie so verwendet. Es wurde immer eine Konstruktormethode
erstellt. War mir unsicher ob man das wie mit primitiven Datentypen machen darf.
 

Neue Themen


Oben