Einzelnen Beitrag anzeigen

Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Globale Variablen und OOP

  Alt 22. Jan 2007, 08:32
Hi!

Ich war mir früher auch unsicher, wo ich am sinnvollsten meine eigentlich
Objekt-unabhängigen Variablen (oder globalen Objekte) zuordnen soll.

Du kannst z.B. dafür ein schlankes Objekt (oder nur eine Klasse) kreieren,
über die du auf diese Variablen zugreifst. Beim Initialisieren kannst
du so vorab gültige Werte einstellen. Dieses Objekte würde ich dann in
einer allgemeinen Unit zugänglich machen. So trennst du - zumindest ein
wenig - die Controls und die Daten-Klassen.
Beim Initialisieren kannst du dann Deine Objekte darin erstellen lassen
und auch später wieder ordentlich zerstören.

Wenn Du - wie du schreibst - eine Variable global ablegen willst, würde
ich dafür vielleicht sogar ein Extra-Objekt kreieren, dass für die
Verwaltung und Weiterverarbeitung dieses Wertes zuständig ist. So hast
du alles rund um diese Sache übersichtlich in einem Objekt.
Also z.B. so:

Delphi-Quellcode:
TDataContainer = class
private
  fValue: integer;
  procedure SetValue(aValue: integer);
public
  property Value: integer read fValue write SetValue;
  function WriteToFile(aFilename: string): Boolean;
  function ReadFromFile(aFilename: string): Boolean;
end;
Hier sind als Beispiel Datei-Funktionen vorhanden...


Ich empfehle dir unbedingt, dich mehr mit dem Thema "Patterns", also "Muster"
zu beschäftigen. Wenn du schon dabei bist, OOP zu lernen, dann ist das
gleich ein sinnvoller Weg, zukünftige Aufgaben etwas flexibler und
eleganter zu lösen.
Im Internet gibt es einige Artikel auf im Bezug auf Delphi, aber viel mehr
mit Hilfe von Java und C++/C#. Genauso sieht's bei den Büchern aus.

z.B. hier habe ich einiges gefunden: www.Delphi3000.com (Patterns)
Hier als Tipp das Command-, Singleton- und Observer-Pattern


Das eigentliche Prinzip der OOP ist jedoch in jeder Programmiersprache gleich.


Gruß
Pfoto
Jürgen Höfs
  Mit Zitat antworten Zitat