Guten Tag zusammen,
ich habe folgendes Problem, und hoffe, Ihr könnt mir dabei behilflich sein.
Ich habe zwei Klassen geschrieben, TSuzuki und TKawasaki.
Ich möchte nun in meinem Programm, je nachdem was der User auswählt, ein Objekt aus dieser Klasse erzeugen; und hier hört es auch schon auf mit dem Wissen um
OOP, bzw. fangen die Probleme an.
Ich habe zwar schon einige Tutorials diesbezüglich gelesen, allerdings haben die sich alle mit einfachen Beispielen befasst, in dem eine Klasse geschrieben, und daraus dann ein Objekt erzeugt wurde.
Nun also zum Problem.
Normalerweise erzeuge ich ein Objekt dadurch, dass ich eine Variable erstelle, dieser einen Typ zuweise, und dann z.B. sage
Delphi-Quellcode:
var
MeineVariable: TMeinTyp;
begin
MeineVariable := TMeinTyp.Create;
end;
Nun ist es in meinem aktuellen Beispiel aber so, dass ich noch nicht weiss, was für ein Typ das sein wird, es kann also TSuzuki oder TKawasaki sein.
Muss ich dem Fall zwei Variablen anlegen, und je nachdem welcher Typ benötigt wird, eine von den beiden erzeugen, also so:
Delphi-Quellcode:
var
MeineSuzuki: TSuzuki;
MeineKawasaki: TKawasaki;
begin
if Maschine = 'Suzuki' then begin
MeineSuzuki := TSuzuki.Create;
end
else if Maschine = 'Kawasaki' then begin
MeineKawasaki := TKawasaki.Create;
end;
end;
Das wäre ja ziemlich umständlich, gerade wenn es dann mehrere Klassen sind.
Und meine zweite Frage:
Ich möchte natürlich mehrere dieser Objekte erzeugen. Wie kann ich dann später auf diese Objekte zugreifen? Ich meine, die heissen dann ja alle MeineSuzuki oder MeineKawasaki - geht das überhaupt, oder kann ich da irgendwie zur Laufzeit Variablen anlegen?
Verzeiht bitte, dass ich so ein für Euch sicherlich triviales Problem habe, aber ich beginne gerade erst mit der
OOP und bin diesbezüglich nirgends fündig geworden - danke.