Nach meinem Verständnis wurde das Schlüsselwort static
aus Gründen der Kompatibilität mit .NET eingeführt (zusammen mit strict
)
Die Unterschiede zwischen den Prozeduren First
und Second
sind: -
First
kann in einer abgeleiteten Klasse überschrieben werden First
übergibt einen impliziten self-Parameter, der auf die Klasse TExample
verweist. Die Klassenprozedur Second
kann nicht überschrieben werden und übergibt keine Parameter und ist daher .NET-kompatibel. Es ist also sinnvoll, das static
-Schlüsselwort nur in nativem Code zu verwenden, da zwischen Delphi & amp; Prism-Syntax?
Statische Klassenmethoden haben kein verstecktes Klassenreferenzargument . Aus diesem Grund sind sie mit einfachen alten Funktionszeigern kompatibel und können daher für die Interaktion mit der Windows-API und anderen C-APIs verwendet werden. Beispiel:
%Vor%(Natürlich hätten Sie stattdessen eine globale Funktion verwenden können, aber andere als globale Funktionen haben statische Klassenfunktionen eine eindeutige Zuordnung zu einer Klasse.)
mit statisch, es ist ein bisschen schneller. Es gibt ein add esp, -8
in der Methode First, das in Second nicht vorhanden ist.
Erstens:
%Vor%Zweitens:
%Vor%Kurz gesagt - ich sehe keinen Grund.