Einzelnen Beitrag anzeigen

Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#1

Mal wieder Klassenvererbung

  Alt 24. Jun 2004, 13:30
Hallo,

ich habe mir eine Grundklasse TGeometrie erstellt und von dieser 2 weitere abgeleitet, nämlich TKugel und TQuader... Soweit kein Problem.

Desweiteren hab ich noch eine Klasse TGeometrien von TObject abgeleitet, und in dieser Klasse als Eigenschaft Items : array of TGeometrie, also ein dynamisches Array, welches all meine Geometrien enthalten soll...

Jetzt sollen aus einer Textdatei die Geometrien geladen werden, und in diesem Array gespeichert werden. In der Textdatei steht dann der Typ der Geometrie drin (Kugel oder Quader), und beim Erstellen der Geometrie benutz ich folgenden Code:
Delphi-Quellcode:
if GeomTyp is TKugel then Fitems[i] := TKugel.create ;
if GeomTyp is TQuader then Fitems[i] := TQuader.create ;
Das klappt auch soweit ganz gut. Allerdings ist diese Typabfrage sehr nervig wenn ich meine geometrischen Formen erweitern will (z.B. Tetraeder), weil ich dann auch in der klasse TGeometrien eine weitere if-Bedingung dazu brauch, damit ich richtig caste, und dies will ich irgendwie vermeiden, hab aber keine Ahnung wie?

Ich hoff ich drück mich klar genug aus... Ich will eben erreichen daß ich mich in der TGeometrien Klasse überhaupt nicht mehr um den wahren Typ von Items kümmern muß, sondern daß automatisch der richtige Typ genommen wird.

Gruß,
Tom
  Mit Zitat antworten Zitat