# Klassen verbinden (Referenzattribute)



## Donke5 (7. Mai 2010)

Hallo,
ich habe da mal eine Frage zu Referenzattributen.
Und zwar gibt es in meinem Entwurf 3 Klassen. Auftrag, Kunde und Gui.
Jetzt soll ich mit Hilfe von Referenzattributen eine Verbindung zwischen Kunde und Auftrag und andersrum herstellen.
Habe die Vorgabe bekommen, dass ich z.B. in Auftrag als Klassenattribut "private Auftrag ersterAuftrag" mit rein nehme.
Aber worin besteht da jetzt die Verbindung? Wenn ich jetzt auf der Gui zuerst über einen Button ein Objekt der Klasse Kunde mit Objektreferenz "kunde" erstelle, dass ich in eine Arraylist speichere und über einen anderen Button einen Auftrag mit der Referenz "ersterAuftrag" in einer zweiten Arraylist speichere, was passiert dann mit den nächsten Objekten beider Klassen wenn sie erstellt werden?
Alle erstellten Objekte haben ja in der Arraylist die gleiche Objektreferenz ("kunde" bzw. "ersterAuftrag").

Ich habe relativ lange im Internet gesucht, konnte aber zu Referenzattributen kaum was finden.
Hoffe mal das hier ist nicht zu konfus und jemand weiß was ich meine und wo es bei mir hängt.


----------



## Final_Striker (7. Mai 2010)

Donke5 hat gesagt.:


> Habe die Vorgabe bekommen, dass ich z.B. in Auftrag als Klassenattribut "private Auftrag ersterAuftrag" mit rein nehme..



In der Klasse Auftrag eine Attribut vom Typ Auftrag anzulegen macht für mich jetzt nicht viel Sinn. Meinst du vllt ein Attribut vom Typ Kunde?

EDIT:

Ich würde in Auftrag ein Attribut vom Typ Kunde rein nehmen und in Kunde eine Liste von Aufträgen. Wenn du jetzt in der GUI einen Kunden auswählst, hast du in der Liste alles Aufträge des Kunden stehen. Wenn der Kunden nur einen Auftrag haben kann, brauchst du natürlich keine Liste. ;-)


----------



## Donke5 (7. Mai 2010)

Final_Striker hat gesagt.:


> In der Klasse Auftrag eine Attribut vom Typ Auftrag anzulegen macht für mich jetzt nicht viel Sinn. Meinst du vllt ein Attribut vom Typ Kunde?
> 
> EDIT:
> 
> Ich würde in Auftrag ein Attribut vom Typ Kunde rein nehmen und in Kunde eine Liste von Aufträgen. Wenn du jetzt in der GUI einen Kunden auswählst, hast du in der Liste alles Aufträge des Kunden stehen. Wenn der Kunden nur einen Auftrag haben kann, brauchst du natürlich keine Liste. ;-)




Sorry meinte natürlich ein Attribut vom Typ Auftrag.
Hmm ich verstehe bei deiner Lösung nicht ganz wie das gespeichert wird.
Beides in Arraylists? Oder nur Aufträge und die Kunden werden einfach auf Knopfdruck instanziiert?
Aber wie kann ich ihnen dann bei jedem Klick neue Namen geben?

Das hier funktioniert ja nicht.
Kunde "VARIABLE, aus Textfeld ausgelesen" = new Auftrag();


----------

