Thema: Delphi Frage zu Properties

Einzelnen Beitrag anzeigen

HeZa

Registriert seit: 4. Nov 2004
Ort: Dortmund
182 Beiträge
 
Delphi 10 Seattle Professional
 
#15

Re: Frage zu Properties

  Alt 14. Mai 2010, 11:44
Zitat von idefix2:
Wenn die Property die Werte in beide Richtungen nur durchreicht, kann man doch genausogut gleich die Variable selbst als Public deklarieren? Wo ist der Unterschied bzw. was ist der Vorteil?
Der Unterschied ist:

* Du kannst die Adresse der Variablen nicht ermitteln (zu mindestens nicht ohne das Layout der Klasse zu kennen).
* Du kannst ein Property nicht als Var-Parameter über geben.

Der Vorteil:

Du handelst nach weit verbreiteten Delphi-Konventionen.

* Alle internen Felder ein Klasse beginnen mit "F".
* Alle internen Felder haben die Sichtbarkeit "private".
* Wenn du dein Property doch mit Getter und Setter versiehst, muss du keine Code ändern der deine Klasse verwendet, da niemand mit der Adresse des Feldes arbeiten kann und und niemand dieses Feld als Var-Parameter übergeben kann.

Auf das verletzen von Konventionen steht keine Todesstrafe (auch wenn manche so tun). Du solltest dir aber über legen ob das verletzen der Konvention dir hier irgendeinen Vorteil bringt.
  Mit Zitat antworten Zitat