| Autor |
Beitrag |
ene
      
Beiträge: 779
Erhaltene Danke: 1
Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
|
Verfasst: Di 17.11.09 09:29
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 
_________________ Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
|
|
JüTho
      
Beiträge: 2021
Erhaltene Danke: 6
Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
|
Verfasst: 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 
      
Beiträge: 779
Erhaltene Danke: 1
Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
|
Verfasst: 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 
_________________ Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
|
|
JüTho
      
Beiträge: 2021
Erhaltene Danke: 6
Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
|
Verfasst: 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 
      
Beiträge: 779
Erhaltene Danke: 1
Vista, XP, W2K
Delphi, .Net, Deutsch und Englisch
|
Verfasst: Di 17.11.09 10:29
Hm, hattest du das nachträglich geändert oder hab ich das überlesen? Ok, dann weiß ich Bescheid.
_________________ Wir, die guten Willens sind, geführt von Ahnungslosen, Versuchen für die Undankbaren das Unmögliche zu vollbringen.
Wir haben soviel mit so wenig so lange versucht, daß wir jetzt qualifiziert sind, fast alles mit Nichts zu bewerkstelligen.
|
|
JüTho
      
Beiträge: 2021
Erhaltene Danke: 6
Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
|
Verfasst: 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.
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
|
|
|