Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: class functions in interfaces?

  Alt 29. Dez 2019, 09:47
Eine Klassenmethode zeichnet sich dadurch aus, daß man keine Instanz der Klasse braucht um sie aufzurufen. Der vorangestellte Klassenname genügt. Weiterhin enthält der implizit übergebene Self-Parameter nicht die Instanz, wie bei normalen Methoden, sondern die Klasse.

Würde man nun Klassenmethoden in Interfaces zulassen, bieten sich zwei Anwendungs-Szenarien an:
  1. Ein Aufruf wie IMyInterface.MyClassMethod
  2. Die Implementierung einer Interface-Methode durch eine Klassenmethode

Punkt 1 scheidet offensichtlich mangels Zugriff auf eine implementierenden Klasse aus.

Punkt 2 scheitert an dem unterschiedlichen Self-Parameter. Einen Workaround dafür hatte Sebastian ja bereits beschrieben.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat