Autor Beitrag
cptjmiller
Hält's aus hier
Beiträge: 6



BeitragVerfasst: Mi 07.11.07 17:11 
Hallo zusammen...

da ich nun in den letzten Tagen des öfteren darauf gestoßen bin, mich diesbezüglich aber nicht wirklich damit auskenne, muss ich heute hier mal fragen, ob in einer objektorientierten Programmiersprache wie C++/C# Folgendes möglich ist:

Für gewöhnlich instanttiert man seine Objekte ja in etwa nach folgender Basissyntax:
ausblenden C#-Quelltext
1:
 Klassenbezeichnung objekt = new Klassenbezeichnung();					


Besteht nun die Möglichkeit, diese Bezeichnung "objekt" irgendwie "dynamisch" zu vergeben? Soll heißen, dass man z.B. in einer for-schleife 10 Instanzen der Klasse anlegt, die alle einen anderen Bezeichnung bekommen...
In etwa so in der Art...
ausblenden C#-Quelltext
1:
2:
3:
4:
 
for (int i = 0; i<11; i++)
{
  Klassenbezeichnung objekt"i" = new Klassenbezeichnung();


So dass ich nach der forschleife nun z.B. 10 Objekt hätte...

Ich möchte das, was ich z.B. ganz normal in eine Member-Variable dynamisch reinschreiben könnte nun auch auf die Objektbezeichnung anwenden...geht sowas überhaupt? (Ich schätze mal nein, schon allein deswegen, weil der Compiler wahrscheinlich die Objektnamen nicht verstehen würde...)...

Und noch in andere Frage, die in eine ähnliche Richtung geht...

Wenn ich mir ein Objekt "objekt1" instantiiert habe...kann ich, und wenn ja, wie, vom Quellcode aus auf diesen Bezeichnung zugreifen oder geht das nur, wenn ich ihn separat PER HAND in eine Membervariable geschreiben habe?
Beispiel:
ausblenden C#-Quelltext
1:
 Klassenbezeichnung zeug01 = new Klassenbezeichnung();					

Nun will ich auf die Bezeichnung "zeug01" zugreifen.....hab mir zuerst gedacht, mit "this" könnte da was gehen, hat aber nicht zum Erfolg geführt...


Vielleicht kann mir ja einer von Euch helfen oder mich aufklären, dass sowas grundsätzlich nicht möglich ist...

Vielen Dank

Moderiert von user profile iconChristian S.: CSHARP- durch C#-Tags ersetzt
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 07.11.07 17:39 
Hallo!

In dem Sinne, wie Du das willst, geht das in einer kompilierten Sprache nicht, das geht nur in Skriptsprachen. Du kannst aber z.B. ein Dictionary<String, Klassenbezeichnung> anlegen, wenn Du über einen String zugreifen willst oder die Instanzen in ein Array Klassenbezeichnung[] oder eine List<Klassenbezeichnung> packen, wenn Du über einen Index zugreifen willst.

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".