Dass Delphi seit den 90ern seine
DFM-Dateien über published Properties serialisiert ist mir klar. Ich sehe nur nicht weshalb man das heute in eigenem Code einsetzen sollte.
um seine eigenen Objekte serialisieren/deserialiseren zu können. Die neue
RTTI ist da zwar umfangreicher, aber eben auch langsamer.
Mit Hilfe der Getter/Setter kann ich, obwohl die Property von "außen" sichtbar ist, den Zugriff auf den Inhalt der Property kontrollieren.
Nein, das kannst du eben nicht: "Zugriff kontrollieren". Die Property kann nicht zwischen "Lesezugriff" und "Schreibzugriff" unterscheiden. Entweder man hat vollen Zugriff auf die Property (dann ist es herzlich egal ob die Getter/Setter nun private, protected oder public sind), oder keinen.
ließ das Posting nochmal durch. Ghostwalker meint so was:
Delphi-Quellcode:
TFoo = class(TObject)
private
...
protected
property Bar: Integer;...
....
end;
Die Sichtbarkeit der Property wird damit gesteuert.
Und über die getter und Setter kann man auch bei public-Properties den Zugriff kontrollieren:
Delphi-Quellcode:
TFoo =
class(TObject)
private
...
public
property Bar: Integer
read GetBar
write SetBar;
....
end;
...
function TFoo.GetBar: Integer;
begin
If FAccessRestricted
then
raise Exception.Create()
else
result := FBar;
end;
Ob das alles am Ende Sinn macht müssen andere entscheiden...