Bei einer Methode ist in Data ein Zeiger auf die Objektinstanz drin (TObject),
wärend bei der Klassen-Methode ein Zeiger auf die Klasse drin steht.
In diesem .Code steht das drin, welches an den versteckten "Self" Parameter übergeben wird.
Methode: Self = Instanz
Klassen-Methode: Self = Klasse, über welche auf die Methode zugegriffen wurde.
(bei der Objektinstanz wird der Zeiger auf die interne Klasse ja in der Instanz gespeichert)
Delphi-Quellcode:
type
TTest = class
class procedure Proc;
end;
TTest2 = class(TTest)
end;
class procedure TTest.Proc;
begin
ShowMessage({Self.}ClassName);
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
TTest.Proc;
TTest2.Proc;
end;