OOP Objekte durch Nutzer erstellen lassen. Wie wird referenziert?

JavaMeetsBlueJ

Bekanntes Mitglied
Hallo Forum,

Ich wollte ein klassiches Konto-Projekt, was man meistens so am Anfang als Beispiel hat, erweitern und das ganze auf eine Gui übertragen. Nun wollte ich den Benutzer seine Daten in der Gui eintragen lassen, und dann mit einem Button "Konto erstellen" ein Konto erstellen lassen. Bei schon vorhandenen Konten soll eine Überweisung auf ein Fremdkonto möglich sein. Das Program m soll sowohl die Klasse Mensch als auch die Klasse Konto besitzen. Wie realisiert man sowas, also das Kernproblem ist, dass ich nicht weiß, wie ich den Namen der Referenz-Variablen vom User abhängig machen kann, um später wieder auf das Konto zugreifen zu können. Sowas wie
Java:
Konto x = new Konto();
geht ja nicht, da dann eine Variable beliebig viele Konten referenziert. Einfach
Java:
new Konto();
ist auch unsinnig, weil ich nicht nachträglich eine Referenzvariable zuordnen kann, falls es der Garbage-Collector nicht schon vom Heap gefegt hat. Wie kann man so etwas realisieren?

MfG
 
Bin mir nicht sicher, was du meinst, aber vielleicht eine Map...?

Map<Person, Konto> konten = new HashMap<Person, Konto>();

map.put(hans, new Konto(1000));

...


Konto konto = map.get(hans); // Gibt das Konto mit 1000 zurück
 
das Kernproblem ist, dass ich nicht weiß, wie ich den Namen der Referenz-Variablen vom User abhängig machen kann
Warum solltest du sowas machen wollen?

Wenn du eine GUI hast, dann gib der eine Variable Konto, die durch Klick auf "Konto erstellen" gefüllt wird. Danach kann mit dem Objekt dann gearbeitet werden.

Das von dir geschilderte Problem gibts nicht.
 
Aber wie ändert man den namen der Referenz-variable, um auf einzelne Konten zuzugreifen?
Beispiel: Ich erstelle ein Konto hans und ein Konto Peter. das sieht "per Hand" ja ca. so aus:

Java:
Konto hans = new Konto(231344545);
Konto peter = new Konto(345667567);
Mit den enstsprechenden gettern kann ich dann beispielsweise den Betrag abfragen. Wie realisiert man das nur mit einem Knopf? Ich kenne zwar noch keine hashmaps, aber ich glaube der Post von Marco13 könnte in die richtige Richtung gehen.
MfG
 
Aber wie ändert man den namen der Referenz-variable, um auf einzelne Konten zuzugreifen?
Gar nicht. Du greifst einfach drauf zu. entweder auf hans oder auf peter. Wenn du beliebig viele Konten haben kannst brauchst du einen Container dafür, z.b. eine Collection (List oder Map).
 

Zurück
Oben