Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Property oder Feld in der eigenen Klasse nutzen

  Alt 3. Jul 2014, 19:44
Es kommt drauf an, was für einen Zugriff man auf diesen Wert braucht
und dementsprechend entscheidet man sich entweder geziehlt für den direkten zugriff, weil man das Verhalten des Getter/Setter "umgehen" muß
oder man geht eben auch über die Getter/Setter das Property.

Sagen wir es einfach mal so:

Am Einfachsten greift man ebenfalls "immer" über das Property drauf zu, auch von innen
und da wo es sein "muß" (1), geht man eben direkt auf das Feld.

1:
- Geschwindigkeit, da man oft zugreift und man die Prüfung, welche z.B. im Getter drin ist, schon "einmal" ausreichend am Anfang der Routine gemacht hat
- ebenso beim Setter ... z.B. das Refresh da drin, kann man ja intern z.B. auch nur einmal am Ende der Routine machen
- im Setter/Getter wird irgendwas ausgelöst, welches an dieser Stelle nicht gemacht werden soll/darf
- ...



Und nein, dein Beispiel ist bissl blöd, denn Getter und Setter machen absolut nichts, weswegen man das Property dort auch direkt auf das Feld zugreifen lassen kann.
Aber beüglich der Aussage, ob man nun direkt auf das Feld oder auf Getter/Setter das Property zugreifen soll, ändert sich nichts.

Man muß sich eben einfach situationsbedingt entscheiden, ob man
- direkt unbedingt auf das Feld gehen muß
- oder ob man auf das Property gehen muß, da dort drin noch was ausgelöst wird, welches ausgelöst werden muß, was man aber nicht nochmal machen will (wenn man über das Feld ginge)
- oder ob man auch das Property nehmen kann, da es praktisch keinen großen Unterschied macht (wenn es egal ist, dann meistens das Property)
- und manchmal nehme ich intern auch direkt den Setter, da ich zwar den Weg des Property nehmen will, aber mir an der Stelle die Syntax des Prozeduraufrufs lieber ist, weil es im Codefluss einfach "schöner" aussieht
$2B or not $2B

Geändert von himitsu ( 3. Jul 2014 um 19:50 Uhr)
  Mit Zitat antworten Zitat