Property/de
From Free Pascal wiki
Jump to navigationJump to search
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
Zurück zu den reservierten Wörtern.
Das reservierte Wort property gehört zur objektorientierten Programmierung.
Das reservierte Wort property bestimmt wie über öffentliche Methoden einer als privat deklarierten Variable (Datenfeld) zugegriffen wird.
Beispiel:
type
TAuto = class
private
fFarbe: string;
procedure SetFarbe(AFarbe: string);
public
property Farbe: string read fFarbe write SetFarbe; // Liest das Feld AFarbe direkt aus und
// schreibt in das Datenfeld fFarbe über die Prozedur SetFarbe.
end;
procedure TAuto.SetFarbe(AFarbe: string);
begin
fFarbe := AFarbe;
end;
Anwendungs-Beispiel:
var
Auto: TAuto;
begin
Auto := TAuto.Create; // Erstellt das Objekt
// Zwei unterschiedliche Schreibweisen für das gleiche Problem
Auto.Farbe := 'Grün'; // Setzt die Farbe
Auto.SetFarbe('Grün'); // Setzt die Farbe wie oben, nur über eine andere Methode, aber dies sollte man vermeiden,
// da normalerweise der Setter und Getter privat ist.
ShowMessage(Auto.Farbe); // Gibt die Farbe wieder aus
Auto.Free; // Zerstört das Objekt
end;
Es ist auch möglich eine Getter-Funktion für das Lesen zu bauen.
...
private
function GetFarbe: String;
procedure SetFarbe(AFarbe: string);
public
property Farbe: string read GetFarbe write SetFarbe;
...
function TAuto.GetFarbe: String;
begin
Result := fFarbe;
end;
Es ist auch möglich ohne Getter und Setter-Funktion
...
public
property Farbe: string read fFarbe write fFarbe;
...
--Olaf 09:28, 1 November 2012 (UTC)