Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.157 Beiträge
 
Delphi 12 Athens
 
#4

AW: Darf man Felder und Property's überschreiben?

  Alt 27. Jul 2012, 14:34
Felder kann man sowieso nicht überschreiben.
In diesem Fall entstehen 2 Felder, welche zufällig den selben Namen besitzen, aber sonst haben die nichts gemeinsam.

tmyrich2 besitzt also unabhängige 2 Listen und daran ändert auch ein Casten nichts mehr.

Property kann man auch nicht überschreiben, aber man kann sie verdecken, erweitern oder verschieben.

property Xyz; in einen anderen Sichbarkeitsbereich geschrieben, verschiebt die Sichtbarkeit und dessen Nachfahren.
(in einen Vorfahrentypen gekastet ergibt sich aber wieder die alte sichtbarkeit, weswegen man die Sichbarkeit eigentlich nicht wieder verringern kann/sollte)

z.B. property Xyz stored False; oder property Xyz default True; verändert ein paar Eigenschaften, welche von den Streamingklassen verwendet werden.

Und dann das Verdecken:
Wenn es im Vorfahren schon ein Property Xyz gibt und man es neu "erstell" property Xyz: TXyz2 read FXyz write SetXyz; , dann ist in der Klasse und den Nachfahren die neue Deklaration sichbar und die Alte nicht.
(auch hier, wenn man über eine Vorfahrenklasse drauf zugreift, dann kommt man wieder an das alte Property ran und vom Neuen ist nix mehr zu merken)
Soll die Funktion "definitiv" verändert werden, dann benötigt man einen überschreibbaren Getter/Setter, für dieses Property.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (27. Jul 2012 um 14:37 Uhr)
  Mit Zitat antworten Zitat