Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe
Online

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

AW: Interfaces - Multiple Inheritance

  Alt 6. Aug 2010, 12:24
Um es mal auf dein Beispiel zu beziehen:

Delphi-Quellcode:
IReadObject = Interface(IInterface)
   ['{26828CFB-864E-488E-914D-B4BEBD49F641}']
   function getMass: Double;
   property Mass: Double read getMass;
End;

IWriteObject = Interface(IInterface)
   ['{B9F10F92-1145-4108-8C93-386ABA334A88}']
   procedure setMass(AValue: Double);
   property Mass: Double write setMass;
End;

TFullObject = class(TInterfacedObject, IReadObject, IWriteObject)
private
  function getMass: Double;
  procedure setMass(AValue: Double);
end;
Du kannst jetzt auch noch dies machen:

Delphi-Quellcode:
IFullObject = Interface(IReadObject)
   ['{19FCFAF2-1BF0-45BE-AABF-0C5138F7D7ED}']
   procedure setMass(AValue: Double);
   property Mass: Double read getMass write setMass;
end;

TFullObject = class(TInterfacedObject, IReadObject, IWriteObject, IFullObject)
Die implementierende Klasse muss dann das Interface nur noch aufführen.

In diesem Fall wäre IWriteObject dann aber eigentlich überflüssig.
Uwe Raabe
  Mit Zitat antworten Zitat