Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#8

AW: Objektereignisse bei abgeleiteten Klassen

  Alt 14. Jan 2016, 18:19
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.
  Mit Zitat antworten Zitat