Zitat von
Elvis:
Ich meinte, dass man bei einer dekorierten OvjectList schlecht etwas anderes reinwerfen kann als das was in der einzigen Add Methode steht.
Ja, und genau das will ich eigentlich auch damit erreichen. Bei mir soll da normaler weise auch nichts anderes rein.
Zitat von
Evian:
Muss ich jetzt für den Zugriff auf die Werte der TMyData-Objekte immer eine eigene Zugriffsfunktion implementieren, oder kann ich mir nicht auch einfach die einzelnen Objekte komplett aus der Liste holen und dann direkt auf die Werte zugreifen?!
Klar, du mußt hier nicht mit Gewalt Methoden implementieren die du nicht haben willst. Normalerweise ist es jedoch so, dass man in so einer Objekt-Liste Sachen ablegt, auf die man auch öfter mal zugreift.
In deinem letzten Beispiel ist die Einsparung nun gerade nicht erheblich, aber auch da. Mit einer direkten Zuweisung in der Form:
Delphi-Quellcode:
X := MyDataList.GetXfromIndex(Index);
Y := MyDataList.GetYfromIndex(Index);
wobei die
Funktion GetXfromIndex(Index : Integer);
alle notwendigen Arbeiten für dich in der klasse übernimmt. die können sein:
- Holen des Data-Objectes bei Index,
- prüfen der Instanz,
- Ermitteln des Wertes für x oder y,
- Gültigkeitsprüfung für x oder y.
Das ist dann schon wieder ne ganze Menge. Hast du diese Zugriffe an mehreren Stellen deines Programms, so hilft das schon ein stück weiter. Zudem hast du es in deinem Object einmal richtig gut durchdacht und dementsprechend geproggt und mußt dir diese Gedanken nicht jedes mal wieder von neuem machen.
das macht man sicher nicht für alle Zugriffe auf die Liste, aber sicher für die gebräuchlichsten.
Gut, wie du es machst bleibt dir überlassen. Wir geben dir hier nur Ideen und unsere Ansichten. Dahinter steht kein Muß. Solange du dich mit einem Weg nicht anfreunden kannst ist es o.k.. Jeder muß auch seinen eigenen Stil finden.
gruß oki