Thema: Delphi Vererbung

Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#12

Re: Vererbung

  Alt 4. Nov 2005, 16:16
Zitat von r2c2:
ich habe nämlich folgenden Satz etwas anders anders interprätiert, als sh17:
Zitat von ozz:
Wie kann ich es machen, das alle Instanzen (aller Arten von Nachfahren) die gleichen Verbindungsdaten verwenden, OHNE das ich es jedesmal an alle übergeben muß.
Das heißt doch, dass alle Nachfahren die selben Daten verwenden sollen. Und die sollen nicht immer einzeln festgelegt werden müssen. Dann ist es doch am einfachsten man hat eine Klasse, der man die Daten übergibt und die verwaltet die Verbindung zur Datenbank. Die anderen müssen sich darum also gar nicht mehr kümmern...
Dann würdest du aber mit deinem Code in jeder TURL eine eigene Connection anlegen. Vielleicht sehe ich auch hier wieder was falsch und das wäre dann Absicht, aber der Vollständigkeit halber sei noch auf das Singleton-Pattern verwiesen. Das garantiert dir dann, dass du wirklich immer eine globale Instanz von der Klasse bekommst:

Delphi-Quellcode:
type
  TExampleClass = class(TObject)
    private
      // Fields
    protected
      // Fields
      constructor create;
    public
      // Fields
      class function getInstance : TExampleClass;
  end;

implementation

var ExampleClassInstance : TExampleClass;

class function TExampleClass.getInstance : TExampleClass;
begin
  if not assigned(ExampleClassInstance) then
    begin
      ExampleClassInstance := TExampleClass.Create;
    end;
  result := ExampleClassInstance;
end;
Ist natürlich nicht vollständig, man sollte tunlichst drauf achten, zu zählen wieviele Verweise es gibt und dafür sorgen, dass wenn es keinen mehr gibt, die Instanz auch wieder freigegeben wird. Das fehlt hier natürlich komplett, aber über die getInstance kann man sich so immer das eine globale Objekt holen, es wäre bei jedem Aufruf das einzigste.

Gruß Der Unwissende
  Mit Zitat antworten Zitat