![]() |
Grundlegende Frage zum Thema OOP
Hallo,
ich habe eine Grundlegende Frage zum Thema OOP mit Delphi!! Ich habe 3 Klassen nennen wir sie mal Klasse A, B und C. Klasse A soll eine Liste 5 Objekten des Typs B und C enthalten also ungefähr so: Liste aus B und C: |-----------------------------| |1 Objekt von B|1 Objekt von C| |2 Objekt von B|2 Objekt von C| |3 Objekt von B|3 Objekt von C| |4 Objekt von B|4 Objekt von C| |5 Objekt von B|5 Objekt von C| |-----------------------------| Geht das in Delphi das ich das so machen ? Und das ich über Klasse A dann auch Objekte in meine Liste B und C einfügen kann?? Wäre für hilfe sehr dankebar! Gruß Muss!0 |
Re: Grundlegende Frage zum Thema OOP
Hallo Muss!0
die Klasse A kann ja zwei Stringlisten vom Typ TStringList enthalten, die dann die Objekte der Klasse B unbd C enthalten. Gruß woto |
Re: Grundlegende Frage zum Thema OOP
Hallo,
sind StringListen nicht nur für String's da? Aber ich brauche doch eine Liste in der ich Objekte einfügen kann und nicht nur Strings außerdem möchte ich dann ja auch auf diese dann z.B. so in der Art drauf zugreifen.
Delphi-Quellcode:
gruß
objKlasseA.getListe.item[0,1].SetWert(123);
Muss!0 |
Re: Grundlegende Frage zum Thema OOP
Hallo,
Du hast es doch schon selbst gesagt. Du nimmst 2x TList und verwaltest damit deine "inneren" Objekte. Andreas |
Re: Grundlegende Frage zum Thema OOP
Oder gleich ne TObjectList.
Ich habs noch nicht ganz verstanden: Brauchst du eine Liste für 5 Objekte, wobei ein Objekt jeweils B oder C sein kann oder brauchst zu zwei Listen, von denen eine As enthält un die andere Bs? Im ersten Fall brauchst du nur eine TObjectList, im zweiten Fall zwei TObjectLists. |
Re: Grundlegende Frage zum Thema OOP
Hi,
vll hab ich mich ein bischen ungeschickt ausgedrückt. Ich möchte eine Klasse haben die beliebig viele Objekte von zwei Klassen enthalten, die zwei Klassen kommen gleich oft drin vor also z.B. hab ich eine Klasse TZelle und die besteht aus einem Objekt von TZellenKey und einem Objekt von der Klasse TZellenWert. Die Klasse TZelle ist n-mal als Objekt in der Klasse TFeld vorhanden. Und genau an der Stelle dacht ich mir wäre ja eine Liste sehr sinnvoll. Nur weiß ich nicht wie ich das Anstellen kann, da ich mich bisher nur in Java mit OOP beschäftig habe. Gruß Muss!0 |
Re: Grundlegende Frage zum Thema OOP
Verwalte deine Liste von TZelle in einer TObjectList in deiner Klasse TFeld.
Deine TZelle kann dann weiterhin jeweils eine Instanz von TZelleKey und von TZelleWert halten. |
Re: Grundlegende Frage zum Thema OOP
Hi,
ahh danke da bin ich noch nicht drauf gekommen ;-) gut dann werde ich das mal versuchen danke danke für die Hilfe Gruß Muss!0 |
Re: Grundlegende Frage zum Thema OOP
Guck mal hier:
![]() |
Re: Grundlegende Frage zum Thema OOP
Hi,
also ich hab das jetzt mal so gemacht troztdem habe ich mal noch nen Fehler den ich nicht behoben bekommen habe. Hier mal der Code:
Delphi-Quellcode:
Bei der Funktion schlägt er mir einen Fehler und zwar das die Typen TCell und TObject nicht die kompatibel sind.
Type
TField = class(TObject) private FCell : TObjectList; function GetItem(Index: Integer): TCell; procedure SetItem(Index: Integer; Item: TCell); protected property InnerList : TObjectList read FCell; public constructor create(); destructor Destroy; override; procedure Add(Item : TCell); procedure Delete(Index: Integer); property Items[Index: Integer]: TCell read GetItem write SetItem; end; function TField.GetItem(Index : Integer) : TCell; begin result := FCell.Items[Index]; end; Meine Frage: Was ist falsch bzw. was muss ich am Code ändern? Gruß Muss!0 PS: Und vielen Dank für die Viele Hilfe hier!!! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz