Der Sinn von Properties in Delphi erschließt sich mir bis heute nicht. ...
Properties sind nur noch mehr Schreibarbeit. Gewonnen hat man dadurch nichts.
Also sowas finde ich mit Properties viel schöner als ohne:
Delphi-Quellcode:
Label.Caption := Label.Caption + '*';
// statt
var
s : String;
begin
s := Label.GetCaption;
s := s + '*';
Label.SetCaption(s);
end;
// ok, das ginge wohl auch:
Label.SetCaption(Label.GetCaption + '*');
Mir gefällt die erste Variante am Besten, da sie im Quelltext am leichtesten zu lesen ist.
Und beim Programmieren interessiert es mich nicht, ob es einen Setter und einen Getter gibt. Mir reicht es, wenn ich eine Eigenschaft einfach per Zuweisung mit 'nem Wert versehen kann, ob das intern über 'nen Getter und 'nen Setter (oder jeweils nur einen davon) abläuft, interessiert mich nicht.
Baut jemand eine Klasse, bei der es für eine Eigenschaft weder Setter noch Getter gibt, so kann ich da einen Wert zuweisen.
Baut jetzt jemand später Getter und Setter ein und ich kann nur diese nutzen, so fällt eine Änderung des Quelltextes an.
Bei der Nutzung von Eigenschaften ist das für den Programmierer transparent. Die Sichtbarkeit läßt sich bei der Vererbung leicht verändern, aber über weitere interne Änderungen muss ich mir da keinen Kopp machen. Das ist innerhalb der Klasse und sollte nach außen keine Änderungen am Quelltext erforderlich machen.