Entwickler-Ecke
Basistechnologien - Klasse mit mehreren gleichen Parametern
ene - Di 17.11.09 09:29
Titel: Klasse mit mehreren gleichen Parametern
Moin,
Wie sollte ich am Geschicktesten einer Klasse Parameter zuordnen, wenn die Parameter sich nur im Namen und den eigenen Parameter unterscheiden? Als Beispiel:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| Auto: Rad VorneLinks: Position, Profiltiefe Rad VorneRechts: Position, Profiltiefe Rad HintenLinks: Position, Profiltiefe Rad HintenRechts: Position, Profiltiefe |
In der eigentlichen Anwendung möchte ich dann über Auto["VorneLinks"].ProfilTiefe (o.ä.) darauf zugreifen können. Vielen Dank im Vorraus :)
JüTho - Di 17.11.09 09:46
Hallo Jan,
du hast es doch schon skizziert: Du brauchst ein Array als internen Member. Die Anzahl der Elemente sollte durch den Konstruktor der Auto-Klasse festgelegt werden (Pkw = 4, Lkw bis zu 20 oder so, Kleintransporter auch 3 denkbar). Der Zugriff erfolgt durch einen Indexer; den kannst du auch mit Strings oder Enums füttern.
Für die Profiltiefe brauchst du eine zusätzliche Klasse Reifen. Die Profiltiefe ist eine Eigenschaft eines Reifens, aber keinesfalls eine des Autos (Widerspruch zur OOP)! Das Auto benutzt also ein Reifen-Array.
Gruß Jürgen
ene - Di 17.11.09 09:54
Hallo Jürgen,
ja die Struktur ist mir eigentlich bekannt, nur weiß ich nicht so recht, was mir in C# zur Verfügung steht. In Delphi würde ich ein Type Rad = Record nehmen und mir daraus ein Array machen. In C# weiß ich nicht wirklich, was für ein Konstrukt ich verwenden soll :(
JüTho - Di 17.11.09 10:25
Ich habe es ganz eindeutig gesagt: Klasse "Reifen" oder "Rad" mit passenden Eigenschaften, das Auto hat eine Eigenschaft "Räder", die vom Typ "Rad-Array" ist und auf die mit einem Indexer zugegriffen wird. Jürgen
ene - Di 17.11.09 10:29
Hm, hattest du das nachträglich geändert oder hab ich das überlesen? Ok, dann weiß ich Bescheid.
JüTho - Di 17.11.09 10:43
ene hat folgendes geschrieben : |
| Hm, hattest du das nachträglich geändert |
Der zweite Absatz ist ein paar Minuten später gekommen. In der Zwischenzeit warst du vielleicht schon beim Schreiben. :wink:
Nachtrag: Auch unter C# ginge es mit einer Struktur. Ich empfehle aber, das nur für so etwas wie Basistypen zu verwenden, aber bei "richtigen" Objekten gleich mit Klassen zu arbeiten.
Jürgen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!