![]() |
Re: Assigned
Zitat:
Code:
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.
AClass :TClass
private FProp :integer; public prop :integer read Fprop; end 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 |
Re: Assigned
Zu beachten ist in der Hinsicht auch, dass die Sichtbarkeitsstufen nur vom Compiler ausgewertet werden. Im Compilat gibts zwischen pirvate, protected, public und published keine Unterschiede mehr (außer der Reihenfolge im Speicher).
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz