Vielleicht noch mal etwas weiter erklärt. Mein Beispiel ist eigentlich noch nicht sehr sinnvoll. Gleiches wäre erreicht, wenn du die Variable einfach nur als public deklarierst:
Delphi-Quellcode:
private
public
Irgendwas : Integer;
end;
implementation
//..
Irgendwas:=99;
//..
So richtig sinnvoll sind Properties m.E. erst, wenn der Zugriff über Getter/Setter-Methoden erfolgt. Beispiel:
Delphi-Quellcode:
private
FIrgendwas : Integer;
procedure SetIrgendwas(NeuerWert:Integer)
function GetIrgendwas:Integer;
public
property Irgendwas : Integer read GetIrgendwas write SetIrgendwas;
end;
implementation
//..
procedure T~~.SetIrgendwas(NeuerWert:Integer);
begin
if NeuerWert>0 then FIrgendwas:=NeuerWert;
ShowMessage('FIrgendwas wurde verändert')
end;
function T~~.GetIrgendwas:Integer;
begin
Result:=FIrgendwas;
ShowMessage('FIrgendwas wurde gelesen')
end;
//..
Damit erhälts du interessante Möglichkeiten; du kannst z.B. den neuen Wert prüfen und eine Änderung nur unter bestimmten Bedingungen zulassen. Ausserdem sind lesende und schreibende Zugriffe auf die interne Variable jetzt quasi zu einem Event geworden auf das du
unit-intern reagieren kannst (das ShowMessage() ist hier nur ein Platzhalter). Denkbar ist z.B., daß nach einer Änderung des Wertes von aussen, die
Unit eine Anzeige aktualisiert - das wär ohne den Setter schon schwieriger zu realisieren.