Wenn du eine Klasse entwickelst, die ein bereits verfügbares Objekt darstellen soll und zu diesem Zweck von der Klasse dieses verfügbaren Objekts ableitest, hast du erst einmal eine Komponente, die bereits alle Variablen und Methoden der Ursprungskomponente enthält. Die darin mußt du also nicht noch einmal deklarieren, denn sie sind in der neuen Klasse bereits durch Vererbung vorhanden – also eine 1:1-Kopie. Du mußt hier also nichts aus dem Quellcode der Ursprungsklasse kopieren. Nun möchtest du ein Property hinzufügen. Das fügst du hinzu mit allem was dazu gehört. Ansonsten mußt du nichts weiter hinzufügen. Wenn du in der neuen Klasse geerbte Methoden noch einmal deklarierst, überschreibst du damit die ursprünglichen und mußt sie dann natürlich auch selbst implementieren. Wenn du dagegen vorhandene Methoden lediglich erweitern willst, verwendest du den Befehl inherited. Das würde jetzt aber erst mal zu weit führen.
Delphi-Quellcode:
type
TEditExt = Class(TEdit)
private
fMyProperty : Integer;
function GetfMyProperty : Integer;
procedure SetfMyProperty(value: Integer);
protected
public
published
property MyNewProperty : Integer read GetfMyProperty write SetfMyProperty;
end;
implementation
function TEditExt.GetfMyProperty : Integer;
begin
Result := fMyProperty;
end;
procedure TEditExt.SetfMyProperty(value: Integer);
begin
fMyProperty := Value;
end;
Ob das neue Property nun public oder published ist,
bleibt dir überlassen.