Verweis auf eine Klasse, die eine Struktur enthält

21/07/2009 - 13:42 von Uwe Weih | Report spam
Hallo,

angenommen ich erstelle mir eine Klasse und möchte dort ein von Pascal/VB6
gekanntes Record/Type einbauen.

Dann erstelle ich in der Klasse eine öffentliche Struktur und weise dieser
eine öffentlicher Variablen zu?

Oder die Struktur in der selben Datei wie die Klasse, aber außerhalb der
Klasse erstellen?

Und gibt es da irgendwas im Hinblick mit Verweistyp/Werttyp zu beachten?
Klassen sind ja Verweistyen, Structuren Werttypen. Lege ich spàter mal zwei
Objekte an (o1 und o2) und setze diese gleich (o1=o2) ist es trotzdem egal,
ob ich dann über o1 oder o2 auf die Struktur (o1.struktur.wert1 = ...) oder
(o2.struktur.wert2 = ...) was àndere, ist identisch?

BTW: Was ist da so Best-Practice im Hinblick auf Übergabe von Daten zwischen
Formularen, wenn man dort mit einer Kopie des Objekts arbeiten möchte und
wenn alles Okay ist, diese dann übernehmen möchte?

Ciao

Uwe
 

Lesen sie die antworten

#1 Armin Zingler
21/07/2009 - 14:08 | Warnen spam
Uwe Weih schrieb:
Hallo,

angenommen ich erstelle mir eine Klasse und möchte dort ein von Pascal/VB6
gekanntes Record/Type einbauen.



Also ein(e) Structure. ;)

Was meinst du mit einbauen?
a) Eine Structure deklarieren
b) Eine Variable vom Typ Structure deklarieren


Dann erstelle ich in der Klasse eine öffentliche Struktur und weise dieser
eine öffentlicher Variablen zu?



Gib bitte mal ein Beispiel. Weiß nicht, wie das gemeint ist.

Oder die Struktur in der selben Datei wie die Klasse, aber außerhalb der
Klasse erstellen?



Ob du die Structure innerhalb oder außerhalb der Klasse definierst
bleibt dir selbst überlassen. Mir fàllt gerade kein blödes Beispiel für
beide Fàlle ein.

Wenn die Structure nur innerhalb der Klasse gebraucht werden würde dann
könnte die Structure Private in der Klasse deklariert werden. Aber das
ist ja nicht der Fall wenn du in der Klasse eine öffentliche Variable
dieses Structure-Typs deklarierst.

Und gibt es da irgendwas im Hinblick mit Verweistyp/Werttyp zu beachten?



Ja. ;)

Klassen sind ja Verweistyen, Structuren Werttypen. Lege ich spàter mal zwei
Objekte an (o1 und o2) und setze diese gleich (o1=o2) ist es trotzdem egal,
ob ich dann über o1 oder o2 auf die Struktur (o1.struktur.wert1 = ...) oder
(o2.struktur.wert2 = ...) was àndere, ist identisch?



Wenn o1/o2 Referenztypen sind, dann: ja


BTW: Was ist da so Best-Practice im Hinblick auf Übergabe von Daten zwischen
Formularen, wenn man dort mit einer Kopie des Objekts arbeiten möchte und
wenn alles Okay ist, diese dann übernehmen möchte?



Ja, das stellt mich leider auch immer wieder vor Herausforderungen.
Ich unterscheide immer, ob man alle Infos im UI gleichzeitig
unterbringen kann. Wenn ja, dann genügt es, beim Übernehmen die Daten
aus dem UI rauszuziehen und im Objekt abzulegen. Andernfalls klone
ich das Objekt und übernehme zum Schluß alles vom Klon ins Original.
Ob das Best-Practice ist, weiß ich nicht, aber zumindest ist es
Zingler-Practice. ;)


Armin

Ähnliche fragen