Delphi-Quellcode:
IMainDingens = interface
function getPort : Word;
function getHost : String;
procedure setPort (const value : Word);
procedure setHost (const value : String);
end;
Delphi-Quellcode:
TServer = class(TPersistent)
private
fMainDingens : IMainDingens;
...
public
constructor Create(const owner : IMainDingens)
end;
Die Implementierung des Interfaces in deiner Komponente solte straight forward sein.
Du kannst die Getter/Setter dort auch als protected deklarieren, wodurch sie nicht ohne weiteres öffentlich veränderbar sind.
@Jelly
Ich dachte seine Aggregate sind Komponenten, TPersistent hat keinen Owner, deshalb kann man ihn hier gleich auf das Interface typisieren und sich so type casts sparen.