Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Konstruktoren in Delphi

  Alt 18. Sep 2019, 09:08
1. Wen TFehler ein Formular ist, dann gibst du mit inherited Create(...) den Owner an. Also die Komponente/Formular, was dieses Formular wieder freigeben soll.
Hier Self mitzugeben ist Quark.

2. Es gilt:
override - Überschreiben einer virtuellen Methode/Konstruktor/Destruktor;
overload - Ich habe mehrere gleichnamige Methoden, die sich anhand ihrer Parameter unterscheiden (keine, ein Parameter, bis N-Parameter).
reintroduce - Ich möchte, dass meine Klasse und seine Ableitungen diese Methode nehmen und nicht die gleiche Methode aus der Elternklasse.
virtual - Nachkommenklassen sollen diese Methode überschreiben (override) können und weiteres Verhalten ergänzen.

3. Genau so wie, wie du es im verlinkten Beispiel siehst:
Delphi-Quellcode:
type
  // Define a parent class, base on TObject by default
  TFruit = class
  public
    name : string;
    Constructor Create; overload; // This constructor uses defaults
    Constructor Create(name : string); overload;
  end;

...

// Create a fruit object - parameterless version
constructor TFruit.Create;
begin
  // Execute the parent (TObject) constructor first
  inherited; // Call the parent Create method

  // Now set a default fruit name
  self.name := 'Fruit'; <--------------------------- Da kommt dein "Ich möchte noch bestimmte Werte setzten, wenn das Objekt erstellt wird."
end;
4. Ohne Argumente wird der überladene Konstruktor der Klasse .genommen
  Mit Zitat antworten Zitat