Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Vererbung bei Implementierung eines Interfaces

  Alt 15. Jul 2018, 15:26
Folgendes könnte unter bestimmten Umständen auch gehen und erzwingt nicht die Implementierung in der Basisklasse. Damit lässt es sich auch in bestehende Vererbungshierarchien einbinden. Klappt aber nur, wenn die Methoden weitestgehend autark sind.
Delphi-Quellcode:
// implementiert
TMyClassRoot = class ();
  procedure MySharedProcedure;
end;

IMyLibrary = interface
  procedure MySharedProcedure;
  procedure MyFirstProcedure;
end;


TMyClassA = class ( TInterfacedObject, IMyLibrary);
private
  FMyRoot: TMyClassRoot; // im Create erstellen und Destroy freigeben
protected
  MyRoot: TMyClassRoot read FMyRoot implements IMyLibrary; // was in TMyClassRoot fehlt, liefert diese Klasse nach
  procedure MyFirstProcedure;
end;


TMyClassB = class ( TInterfacedObject, IMyLibrary);
private
  FMyRoot: TMyClassRoot; // im Create erstellen und Destroy freigeben
protected
  MyRoot: TMyClassRoot read FMyRoot implements IMyLibrary; // was in TMyClassRoot fehlt, liefert diese Klasse nach
  procedure MyFirstProcedure;
end;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat