Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.111 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Variable einen Anfangwert in der Deklaration zuweisen

  Alt 29. Apr 2014, 08:19
hä?

Ich kann (glaube ich) an einer Hand abzählen, wie oft ich einen Konstruktor mal überladen habe. In anderen Sprachen die (anders als Delphi) kein oder nur sehr eingeschränktes "Konstruktor-Chaining" erlauben hat sich meist eine "init"-Methode eingebürgert die dann alle Felder auf irgendeinen "Anfangswert" setzt.

In Delphi habe ich hingegen immer einen "Grundkonstruktor" wo alles so gesetzt wird, wie es normal sein sollte. Ein "alternativer" Konstruktor ruft dann diesen auf.

Delphi-Quellcode:
TMyClass = class
   protected var someField: Integer;
   protected var someOtherField: String;
   public constructor Create(); overload;
   public constructor Create(const stuff: String); overload;
end;
   
constructor TMyClass.Create();
begin
   inherited Create();
   self.someField := 42;
end;

constructor TMyClass.Create(const stuff: String);
begin
   self.Create();
   self.someOtherField := stuff;
end;
  Mit Zitat antworten Zitat