Difference between revisions of "Inherited/de"

From Free Pascal wiki
Jump to navigationJump to search
m (moved inherited/de to Inherited/de: einheitliche Schreibweise)
Line 3: Line 3:
 
Zurück zu den [[Reserved words/de|reservierten Wörtern]].<br>
 
Zurück zu den [[Reserved words/de|reservierten Wörtern]].<br>
 
<br>
 
<br>
Das Schlüsselwort <b>inherited</b> gehört zur objektorientierten Programmierung.<br>
+
Das reservierte Wort <b>inherited</b> gehört zur objektorientierten Programmierung.<br>
Das Schlüsselwort inherited ruft die entsprechende von der Elternklasse geerbte Methode auf.<br>
+
Das reservierte Wort <b>inherited</b> ruft eine geerbte Methode der Elternklasse auf.<br>
 
<br>
 
<br>
Beispiel:<br>
+
Beispiel 1 Konstruktor:<br>
 
<syntaxhighlight>
 
<syntaxhighlight>
// Klassendefinition
+
  ...
type
+
  TTest.Create;
   TKlasse = class
+
   begin
     constructor Create;
+
     Inherited; // Steht immer am Anfang des Konstruktors und startet den Konstruktor der Elternklasse
     destructor Destroy;
+
     ...
 
   end;
 
   end;
 
+
</syntaxhighlight>
// Konstruktor der eigenen Klasse
+
<br>
constructor TKlasse.Create;
+
Beispiel 2 Konstruktor:<br>
begin
+
<syntaxhighlight>
  inherited; // Der Aufruf des Konstruktors der Elternklasse steht immer am Anfang der Methode
 
 
   ...
 
   ...
end;
+
  TTest.Create(...);
 
+
  begin
// Destruktor der eigenen Klasse
+
    Inherited Create(...);  // Steht immer am Anfang des Konstruktors und startet den Konstruktor der Elternklasse
destructor TKlasse.Destroy;
+
    ...
begin
+
  end;
 
   ...
 
   ...
  inherited;// Der Aufruf des Destruktors der Elternklasse steht immer am Ende der Methode
+
</syntaxhighlight>
end;
+
<br>
 
+
Beispiel 3 Destruktor:<br>
var
+
<syntaxhighlight>
// Variable vom Typ der Klasse bekannt machen (deklarieren)
+
   TTest.Destroy;
   meineKlasse: TKlasse;
+
  begin
 
+
    ...
begin
+
    Inherited; // Steht immer am Ende des Destruktors und startet den Destruktor der Elternklasse
  ...
+
   end;
  meineKlasse := TKlasse.Create; // Create ruft den Konstruktor der eigenen Klasse auf
 
   meineKlasse.Destroy;           // Destroy ruft den Destruktor der eigenen Klasse auf
 
 
   ...
 
   ...
end.
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
<br>
 
<br>

Revision as of 16:56, 31 October 2012

Deutsch (de) English (en) suomi (fi) français (fr) русский (ru)

Zurück zu den reservierten Wörtern.

Das reservierte Wort inherited gehört zur objektorientierten Programmierung.
Das reservierte Wort inherited ruft eine geerbte Methode der Elternklasse auf.

Beispiel 1 Konstruktor:

  ...
  TTest.Create;
  begin
    Inherited;  // Steht immer am Anfang des Konstruktors und startet den Konstruktor der Elternklasse
    ...
  end;


Beispiel 2 Konstruktor:

  ...
  TTest.Create(...);
  begin
    Inherited Create(...);  // Steht immer am Anfang des Konstruktors und startet den Konstruktor der Elternklasse
    ...
  end;
  ...


Beispiel 3 Destruktor:

  TTest.Destroy;
  begin
    ...
    Inherited;  // Steht immer am Ende des Destruktors und startet den Destruktor der Elternklasse
  end;
  ...



--Olaf 16:28, 26 October 2012 (UTC)