Hallo zusammen,
nach langer Zeit bin ich mal wieder hier unterwegs und hab auch wieder eine Frage
Der Titel ist evtl. etwas blöd, aber ich weiß nicht, wie ich das anders kurz in Worte fassen soll
Ich hab eine Klasse, die ein Datenarray enthält. Das möchte ich sortieren; funktioniert auch problemlos. Jetzt kann ich das z.B. so implementieren:
Delphi-Quellcode:
type
TDatenArray = array of TDaten;
MeineKlasse = class(TObject)
private
FDaten: TDatenArray;
procedure Daten_Sortieren; //Sortieralgorithmus ist hier ja unerheblich
public
property Daten: TDatenArray read FDaten;
end;
Liegen die Daten in FDaten vor, kann ich Daten_Sortieren aufrufen. FDaten ist danach sortiert. Funktioniert, aber irgendwie ist mir dabei ein bisschen unwohl. Ich muss mir immer merken, ob und ab wo ich davon ausgehen kann, dass FDaten sortiert ist.
Wie kann ich das besser machen?
- Über eine Eigenschaft Ist_Sortiert: boolean read FIst_Sortiert
?
- Über eine gesonderte Eigenschaft Daten_Sortiert: TDatenarray read FDaten_Sortiert
, so dass Daten_Sortieren
mein Feld FDaten
nicht überschreibt? Dann muss ich aber auch noch übeprüfen, ob FDaten_Sortiert
schon gefüllt ist (evtl. auch über eine Eigenschaft Ist_Sortiert
)
- Statt procedure Daten_Sortieren
eine function Daten_Sortieren: TDatenArray
, so dass ich beim Aufruf der Methode den Rückgabewert in eine Variable meiner Wahl speichern kann/muss, statt die sortierten Daten im Objekt selbst vorzuhalten?
Irgendwie ist das eine grundsätzliche Frage für mich, die da mit rein spielt: Ein Objekt stellt die Prozeduren A und B bereit. A bearbeitet irgendwelche Daten (Felder) meines Objekts. B bearbeitet auch Felder und greift dabei auf die von A veränderten Felder zu. Wie regelt man das "schön"?
Viele Grüße
Ultimator
Julian J. Pracht