Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Property OHNE getter/setter überschreiben? (https://www.delphipraxis.net/191193-property-ohne-getter-setter-ueberschreiben.html)

Rabenrecht 19. Dez 2016 08:08

Delphi-Version: 5

Property OHNE getter/setter überschreiben?
 
Hallo!

Ist es möglich eine Property, die im Parent ohne Getter/Setter implementiert ist (zb. einfach property P1 Default :defValue;) zu überschreiben?

Und jetzt die wirklich interessante Frage: in dem Fall, dass sich die Property überschreiben lässt, ist es möglich das so zu tun, so dass in den Parent-Methoden auch die überschreibende (also die neue) property des childs aufgerufen wird?

himitsu 19. Dez 2016 10:16

AW: Property OHNE getter/setter überschreiben?
 
Funktion "immer" ändern nur, wenn man die "virtuellen" Getter/Setter überschreibt (override).

In Nachfahren bestimmte Dinge überschreiben ändern/erweitern, indem man das Property ohne Typdefinition nochmal mit den gewünschten Änderungen deklariert.
Delphi-Quellcode:
type
  TMyBase = class
    property Xyt: Integer ...;
  end;

  TMyClass1 = class(TMyBase)
    property Xyt default 123; // nur Default ändern
  end;

  TMyClass2 = class(TMyBase)
    property Xyt read abc; // nur Getter ändern
  end;

  TMyClass3 = class(TMyBase)
    property Xyt write def default 666; // nur Setter und Default ändern
  end;

  TMyClass4 = class(TMyBase)
    property Xyt: Integer ...; // komplett neues Property ... kann auch 'nen anderen Typ haben, aber wehe jemand macht nochmal soeinen Schrott, wie bei TField.Value :böseguck:
  end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz