Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Property oder Feld in der eigenen Klasse nutzen

  Alt 3. Jul 2014, 18:23
Nein es kommt nicht darauf an.

Eine Klasse darf intern mit allem rumspielen wie sie möchte um das Erscheinungsbild nach aussen hin zu wahren. Darauf kommt es einzig und alleine an, ob die Klasse von aussen so reagiert, wie das erwartet wird. Wie das intern erreicht wird spielt keine Geige.

Oft wird sogar ganz bewusst das Feld genommen und nicht die Eigenschaft, weil man ganz bewusst den Getter und Setter umgehen will/muss.
Delphi-Quellcode:
TFoo = class
private
  FBar : TBar;
  function GetBar : TBar;
public
  property Bar : TBar read GetBar;
  procedure DoSomething;
end;

function TFoo.GetBar : TBar;
begin
  if not Assigned( FBar ) then
    FBar := TBar.Create;
  Result := FBar;
end;

procedure TFoo.DoSomething;
begin
  if Assigned( FBar ) then
    FBar.DoSomethingDifferent;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 3. Jul 2014 um 18:29 Uhr)
  Mit Zitat antworten Zitat