Welchen Container?

Hallo welchen Container würdet ihr für eine Person verwenden die mehrere Eigenschaften hat? Ich habe eine Klasse „Person“ die diverse Eigenschaften hat.Zum Beispiel „Name“ „Vorname“ etc. Ich möchte diese Daten nun in einem Container speicher und dann in einer ListView ausgeben. Die ListView hat mehrere Columns unter die dann die eingetragenen Personen stehen mit ihren Eigenschaften. Ich bin da leider nicht so fit. Wenn es nur 1 Sache wäre würde ich einen Array nehmen aber es sind halt mehrer! Muss ich bei jeder neuen Person die ich erzeuge auch eine neue Instanz der Klasse „Person“ erzeugen? Ich hoffe ihr helft mir, denn ich bin da noch nicht so fit. Danke euch

Hallo!
Die Klasse „Person“ kannst Du Dir als Schablone vorstellen. Für jede einzelne Person wird ein neues Abbild der Schablone („Instanz“) erzeugt, also ja, Du brauchst für jede Person eine neue Instanz.
Wie Du mehrere Personen am besten verwaltest, hängt weder von der Instanz Person oder der Klasse Person ab, sondern davon, was Du mit der Sammlung machen willst.
Hat die Sammlung eine konstante Größe, dann nimm ein Array.
Soll die Sammlung dynamisch wachsen und schrumpfen können, nimmst Du bspw. eine Liste ( List ).

Gruß,
Martin

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo!
Muss die Instanz dann immer einen anderen Namen haben? Also soll jede PErson einen neuen Namen erhalten?
sprich: Person newPerson = new Person();

oder

Person newPerson1 = new Person(); (Person 1)
Person newPerson2 = new Person(); (Person 2)

Wenn zweiteres zutrifft, wie kann ich das dann anstellen das sich der name jeder Instanz mit dem anlegen der Instanz immerwieder verändert?

MfG Christian

Hallo!
Die Klasse „Person“ kannst Du Dir als Schablone vorstellen.
Für jede einzelne Person wird ein neues Abbild der Schablone
(„Instanz“) erzeugt, also ja, Du brauchst für jede Person eine
neue Instanz.
Wie Du mehrere Personen am besten verwaltest, hängt weder von
der Instanz Person oder der Klasse Person ab, sondern davon,
was Du mit der Sammlung machen willst.
Hat die Sammlung eine konstante Größe, dann nimm ein Array.
Soll die Sammlung dynamisch wachsen und schrumpfen können,
nimmst Du bspw. eine Liste
( List ).

Gruß,
Martin

Hallo!
Muss die Instanz dann immer einen anderen Namen haben? Also
soll jede PErson einen neuen Namen erhalten?
sprich: Person newPerson = new Person();

oder

Person newPerson1 = new Person(); (Person 1)
Person newPerson2 = new Person(); (Person 2)

Wenn zweiteres zutrifft, wie kann ich das dann anstellen das
sich der name jeder Instanz mit dem anlegen der Instanz
immerwieder verändert?

MfG Christian

Hi nochmal!

Was Du mit newPerson, newPerson1 und newPerson2 bezeichnet hast, sind allesamt Referenzen auf Instanzen der Klasse Person.
Ohne Referenz kannst Du auf das Objekt nicht mehr zugreifen.
Wie Du die Referenzen benennst, ist absolut egal, eine Referenz kann halt immer nur auf ein Objekt zeigen. Wenn Du der selben Referenz ein neues Objekt zuweist, kommst Du an den vorigen Wert nicht mehr ran.

Damit hat eine Instanz an sich keinen Namen, nur die Referenzen auf ein konkretes Objekt. Bei Deiner Person-Klasse hast Du vielleicht eine Eigenschaft „Name“, das hat aber mit dem Namen der Referenz nichts zu tun.

Wenn Du den Wert der Eigenschaft „Name“ gleich bei der Objekterstellung übergeben willst, kannst Du den Konstruktor überladen, d.h. eine Version implementieren, der man einen string-Wert mitgeben kann, der dann beim neu erzeugten Objekt gleich als Name eingetragen wird.
Das kommt vielleicht noch am ehesten an Deine Beschreibung ran.

Allgemein würde ich aber ein gutes Buch zum Thema „Objektorientierte Entwicklung“ empfehlen - weitergehende Erklärungen zu solchen Basics sprengen m.M. nach den Rahmen eines solchen Forums.

Gruß,
Martin