Bin gerade noch auf eine kleine Eigenart gestoßen...
Folgendes kompiliert und funktioniert problemlos:
Delphi-Quellcode:
IFlieg = interface
['{0E839812-DAB3-47F0-AF3E-AB05FFDD6CE6}']
procedure Flieg;
function get_X: Integer;
procedure set_X(Value: Integer);
property X: Integer read get_X write set_X;
end;
TVogel = class(TInterfacedObject, IFlieg)
private
fX: Integer;
public
procedure Flieg;
function get_X: Integer;
procedure set_X(Value: Integer);
//property X: Integer read get_X write set_X;
end;
Man kann also die Property in der Klasse weglassen (Getter bzw. Setter reichen) und kann die Property dennoch benutzen (auch die Codevervollständigung bietet sie an).
Ich denke mal, der besseren Lesbarkeit halber sollte man sie dennoch in der Klasse deklarieren.