Einzelnen Beitrag anzeigen

mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: OOP Variablen übergeben.

  Alt 8. Okt 2014, 20:03
Ja man könnte auf sie verzichten, ich finde aber

obj.Top := 0; obj.Left := 0; obj.Width := 100; obj.Height := 100; Besser lesbar als

obj.SetTop(0); obj.SetLeft(0); ... Bei einer property ohne Setter/Getter wird im Kompilat, dann direkt auf die privaten Felder zugegriffen.
Später kann man dies dann einfach auf Setter/Getter umstellen ohne das der kosumierende Code geändert werden muss.

obj.Top := 0; -> obj.FTop := 0; In diesem Fall wird statt der Zuweisung der setter augerufen

obj.Top := 0; -> obj.SetTop(0); Für eine propery muss auch kein privates Feld existieren oder sie kann read oder writeonly sein

Delphi-Quellcode:
type
  Klasse = class
 private
  FGebDat: TDate;
  ...
  procedure CalcAlter: Integer;
 public
  property Alter: Integer read CalcAlter;
...
end;
...
procedure <Klasse>.CalcAlter: Integer;
begin
  result := (Today-FGebdat) DIV 364; // dirty implementation
end;
Markus Kinzler
  Mit Zitat antworten Zitat