Interfaces hebben geen constructor. Ze hebben alleen methods (en in Delphi, door wat 'syntactic sugar' ook nog properties).
Je maakt namelijk geen instanties van een interface. Je maakt een instantie van een object dat een interface implementeert, en je zal dus ook altijd een constructor gebruiken van een specifieke class. Er is daarom geen reden om die constructor in een interface vast te leggen. Typisch gebruik zal er zo uit zien:
Implementatie (met zijn eigen constructor):
Delphi Code:
type
TJouwDataEditView = class(TInterfacedObject, IDataEditView)
constructor CreateDetailForm(AOwner: TComponent; AID: Integer);
// Hier nog al die implementaties van de interface methods.
end;
Aanroep van die constructor. Je roept de constructor van de class aan, maar het resultaat sla je op in een variabele van het interface-type.
Delphi Code:
var
DataEditView: IDataEditView;
begin
DataEditView := TJouwDataEditView.Create(Self, 10);
Bookmarks