Hallo zusammen,
ich bin gerade wieder über einen einfachen Getter/Setter gestolpert und frage mich (mal wieder), ob es dafür tatsächlich einen sinnvollen Einsatzzweck gibt oder ob es die letztendlich nur gibt, weil man sich darauf geeinigt hat, immer Getter und Setter zu verwenden...
- Sprich hat im nachfolgenden Beispiel das Lesen/Schreibe der Property Test1 irgendwelche Vor- oder Nachteile gegenüber Test2?
- Warum wird im Setter zu Test1 erst noch die Prüfung auf Ungleichheit vorgenommen, statt einfach direkt den Wert zuzuweisen?
Bei den Fragen geht's mir bewusst um genau diese Form, bei der keine weiteren Aktionen, Checks oder Umwandlungen definiert sind.
Code:
TTestClass = class(TObject)
private
FTest1: String;
FTest2: String;
function GetTest1: String;
procedure SetTest1(const AValue: String);
public
property Test1: String read GetTest1 write SetTest1;
property Test2: String read FTest2 write FTest2;
end;
function TTestClass.GetTest1: String;
begin
Result := FTest1;
end;
procedure TTestClass.SetTest1(const AValue: String);
begin
if (FTest1 <> AValue) then
FTest1 := AValue;
end;
Gruß, Marian