Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.024 Beiträge
 
Delphi 12 Athens
 
#8

AW: Warum braucht Class Property einen Static-Getter?

  Alt 21. Mai 2014, 14:46
Aber durch Static gibt es dann kein Self mehr
Worauf würde 'Self' denn dann eigentlich zeigen?
Bei einer Klassenmethode zeigt Self auf den aktuellen Klassentyp. So könnt eine nicht-statische Klassenmethode in etwa sowas machen:

Delphi-Quellcode:
type
  TMyBaseClass = class
  public
    class procedure Execute;
  end;

  TMyClass1 = class(TMyBaseClass);
  TMyClass2 = class(TMyBaseClass);
  

class procedure TMyBaseClass.Execute;
var
  instance: TMyBaseClass;
begin
  instance := Self.Create;
  try
    ...
  finally
    instance.Free;
  end;
end;

begin
  TMyClass1.Execute; // erzeugt ein TMyClass1
  TMyClass2.Execute; // erzeugt ein TMyClass2
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat