Thema: Delphi Assigned

Einzelnen Beitrag anzeigen

woki

Registriert seit: 29. Mär 2003
563 Beiträge
 
Delphi 2006 Architect
 
#21

Re: Assigned

  Alt 12. Sep 2004, 12:34
Zitat von Muetze1:
Ok, ich meinte auch die Published Eigenschaften. Und nun erklär mir mal bitte deine Aussage mit dem Aufbauen des Codes zur Compilerzeit und sozusagen wegnehmen der Read/Write Routinen (so hatte ich es verstanden) und dem Zugriff auf selbige zur Runtime...
Nun, einfach mal mit logischem ÜBerlegen, und ohne dass ich den Sourcecode des Compilers überprüft häte, folgender hypothetischer Source:

Code:
AClass :TClass

private
  FProp :integer;
public
  prop :integer read Fprop;
end
Bei einem Zugriff auf prop weiß der Compiler, dass hier nichts weiter passiert, als dass direkt FProp zurückgeliefert wird, Lesezugriffe auf Prop und FProp sind also äquivalent, der Compiler kann das erkennen und entsprechend optimierten Code erzeugen, ohne gegen das Prinzip der Kapselung zu verstoßen, und ohne das der Entwickler Probleme bekommt wenn er später einmal den internen Aufbau seiner Klasse durch Einziehen eines Getters erweitert.

Wenn ich das im Vorübergehen so richtig verstanden habe, ist es ein ähnliches Prinzip, mit dem DotNet einige Performanceprobleme von Java beseitigt, oder wie A.H. sagt:
"Goog Idesas do not suddenly go away".

Ich denke, dass es auch innerhalb einer Klasse sinnvoll sein kann, auf eine property zuzugeifen, wenn klar ist, dass der Wert der property interessiert, auch wenn bei einer zukünftigen Weiterentwicklung, der reine Feldwert durch einen Getter ersetzt wird, oder das Auslesen / Schreiben Seiteneffekte haben soll. Die VCL bstätigt mich da.
Man sollte sich nur darüber bewußt sein, und welchen Preis man je nach Entwicklungssprache und Compiler/Interpreter Implementation bezahlen muß.

Grüsse
Woki
  Mit Zitat antworten Zitat