Einzelnen Beitrag anzeigen

Benutzerbild von Back2Code
Back2Code

Registriert seit: 6. Feb 2012
Ort: Deutschland
272 Beiträge
 
Delphi XE7 Professional
 
#1

Klassen Methoden die private stehen

  Alt 28. Feb 2014, 10:24
Ich bin gerade dabei mir nochmal das Thema OOP genauer anzusehen und bin dabei auf folgendes Code Beispiel von Popov aus einem anderen Thread gestoßen:

Delphi-Quellcode:
type
  TZitrone = class
  private
    FZitronenfarbe: String;
    procedure ZFarbe(a: String);
  public
    constructor Create;
    property Zitronenfarbe: string read FZitronenfarbe write ZFarbe;
  end;

constructor TZitrone.Create;
begin
  FZitronenfarbe := 'gelb';
end;

procedure TZitrone.ZFarbe(a: String);
begin
  if (LowerCase(a) = 'grün') or (LowerCase(a) = 'gelb') then
    FZitronenfarbe := a
  else
    FZitronenfarbe := 'gelb';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Zitrone: TZitrone;
begin
  Zitrone := TZitrone.Create;
  Zitrone.Zitronenfarbe := 'blau';
  ShowMessage(Zitrone.Zitronenfarbe);
  Zitrone.Free;
end;
Ansich verständlich und gut lesbar dennoch ist jetzt für mich nicht ganz ersichtlich für was man genau die Methode TZitrone.ZFarbe benötigt und wann/wie diese aufgerufen wird.

Meine Vermutung ist, dass der Aufruf passiert sobald ich dem public property Zitronenfarbe etwas zuweise..Würde gerne meine Theorie bestätigt haben bzw. die richtige Lösung dazu.

Wann benutzt man genau Propertys?
Wie sind die Einsatzmöglichkeiten?
00111100001100110010000001000100011001010110110001 1100000110100001101001
  Mit Zitat antworten Zitat