Einzelnen Beitrag anzeigen

Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#2

AW: Wer und was ruft alles TList.Pack() auf (und warum?)

  Alt 27. Mai 2013, 17:25
Ich dachte, ich sei schlau und füge einer TObjectList ab und an auch mal ein eine Nullreferenz hinzu
Schlauer wäre es das Null-Objekt-Pattern einzusetzen.

Nehmen wir mal an, bei den Objekte handle es sich um Spielfiguren, die sich selbst zeichnen können.
Delphi-Quellcode:
TGameObj = class(TObject)
public
  procedure Paint2Canvas(canvas:TCanvas);virtual; abstract;
end;

TNullGameObj = class(TGameObj)
public
  procedure Paint2Canvas(canvas:TCanvas);override;
end;

procedure TNullGameObj.Paint2Canvas(canvas:TCanvas);
begin
  // nichts tun
end;
Anstatt nil werden jetzt bei Bedarf Objekte der Klasse TNullGameObj eingefügt.

Das hat den Vorteil dass man später keine Fallunterscheidung benötigt und Null-Objekte genau gleich wie alle anderen Objekte behandeln kann.
fork me on Github
  Mit Zitat antworten Zitat