Hallo Leute!
Ich bin leider ein totaler Anfänger und hab ein Problem mit der Kommunikation zwischen 2 Instanzen einer Klasse. Ich weiss leider nicht, wie ich das angehen soll.
Konkret: Es existiert eine Klasse (Bank-)Konto mit den Attributen: Kontonummer, Kontoinhaber, Kontostand und den Methoden: einzahlen, auszahlen, get für alle Attribute, set für Nummer und Inhaber.
Nun muss ich eine Überweisung von einem Konto auf ein anderes Konto durchführen. Ich muss also 2 Instanzen erzeugen (möglichst mit einer eigenen Klasse) und diese miteinander agieren lassen.
Vielen Dank für eure Hilfe!
lg
Hi Angel,
also ich weiss zwar nicht, ob ich Dein Problem genau verstanden habe, aber ich versuch’s einfach mal zu lösen 
So in etwa sieht Deine Klasse also aus:
class Konto{
//Attribute
private int kontonummer;
private String kontoinhaber;
private int kontostand;
//Attributzugriffsmethoden
public int getKontonummer(){
return this.kontonummer;
}
public String getKontoinhaber(){
return this.kontoinhaber;
}
public int getKontostand(){
return this.kontostand;
}
public void setKontonummer(int eingabe){
this.kontonummer = eingabe;
}
public void setKontoinhaber(String eingabe){
this.kontoinhaber = eingabe;
}
//Klassenmethoden
public void einzahlen(int eingabe){
this.kontostand = this.kontostand + eingabe;
}
public void auszahlen(int eingabe){
this.kontostand = this.kontostand - eingabe;
}
}
So, nu habe ich erstmal Deine Klasse so aufgeschrieben, wie Du sie auch implementiert haben könntest.
Nun hast Du ja auch noch 'ne Main-Methode, in der Du Deine Anweisungen schreiben kannst bezüglich der Instanziierung von Objekten dieser Klasse. Das sieht dann so aus:
Konto eins = new Konto();
Konto zwei = new Konto();
Mit dem Schlüsselwort new hast Du jetzt zwei neue Objekte der Klasse Konto erzeugt: eines ist eins, das andere ist zwei. Jetzt weißt Du den beiden Konten verschiedene Kontonummern und Inhaber zu:
eins.setKontoinhaber("Bernd");
zwei.setKontoinhaber("Angel");
eins.setKontonummer(1234567);
zwei.setKontonummer(7654321);
Nun hast Du schonmal zwei Objekte: Objekt eins mit der Kontonummer 1234567 und dem Inhaber Bernd, Objekt zwei mit der Kontonummer 7654321 und dem Inhaber Angel. Jetzt zahlen wir erstmal was ein auf die Konten:
eins.einzahlen(1000);
zwei.einzahlen(1000);
Beide Konten haben jetzt 1000 DM/Euro/(sonstige Währung) auf dem Konto. Zur Interaktion der beiden Klassen gibt es jetzt mehrer Möglichkeiten: Angel schuldet Bernd für eine Beratung alles was er hat (also 1000 Euro). Dann sieht eine Transaktion so aus:
eins.einzahlen(zwei.getKontostand());
zwei.auszahlen(zwei.getKontostand());
Zuerst wird die Anweisung in der Klammer ausgeführt, dann erst die andere Anweisung. Vielleicht bietet sich aber auch eine eigene Methode an, mit der so eine Transaktion zweier Konten durchgeführt werden kann. In die Klasse sollte dann diese Methode geschrieben werden:
public void transaktion(Konto eingabeKonto, int eingabeBetrag){
this.einzahlen(eingabeBetrag);
eingabeKonto.auszahlen(eingabeBetrag);
}
Diese Methode sieht also vor, daß das Objekt, auf das sie angewendet wird, einen Betrag erhält, während das andere Objekt diesen Betrag verliert. Anzuwenden wäre das auf das obere Beispiel, wobei Angel diesmal ein konkreter Betrag von 500 Euro schuldig ist, so aus:
eins.transaktion(zwei, 500);
Sollte wie oben alles von Konto zwei nach Konto eins geschaufelt werden, dann sieht das so aus:
eins.transaktion(zwei, zwei.getKontostand());
So, das sollte es wohl gewesen sein. Kannst Du damit was anfangen? Ich hoffe doch 
Noch ein Tip: Du brauchst eigentlich keine Methode zwecks Auszahlen eines Betrages, da da Du ja auch den Auszahlungsbetrag negativ (!) einzahlen könntest mit der Einzahlungsmethode. Alles klar?!
Bis denne,
Bernd
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Vielen Dank für deine Antwort. Es war genau das, was
ich gebraucht hab. Du hast das echt prima erklärt.
Danke und lg
Angel