Wie kann man in Delphi auf die (Super-) Basisklasse zugreifen?

10

In C # kann ich nach base keyword auf die Basisklasse zugreifen, und in Java kann ich darauf zugreifen, indem ich auf super keyword zugreife. Wie geht das in Delphi? Angenommen, ich habe folgenden Code:

%Vor%     
Niyoko Yuliawan 20.09.2012, 03:26
quelle

3 Antworten

13

Sie erhalten eine stackoveflow-Ausnahme wegen der Zeile

%Vor%

ist rekursiv.

Sie können auf die übergeordnete Eigenschaft Caption zugreifen, indem Sie die Eigenschaft Self umsetzen zu der Basisklasse wie folgt:

%Vor%

oder mit dem Schlüsselwort inherited

%Vor%     
RRUZ 20.09.2012, 03:36
quelle
11

Sie sollten inherited keyword:

verwenden %Vor%     
da-soft 20.09.2012 03:43
quelle
2

base (C #) = super (java) = geerbt (Object Pascal) (*)

Die 3 Schlüsselwörter funktionieren auf die gleiche Weise.

1) Aufruf des Basisklassenkonstruktors
2) Aufruf der Basisklassenmethoden
3) Weisen Sie den Eigenschaften der Basisklasse Werte zu (vorausgesetzt, sie sind nicht privat, nur geschützt und öffentlich sind erlaubt)

4) Call-Base-Klasse Destruktor (nur Object Pascal. C # und Java hat keine Destruktoren)


(*) Object Pascal ist anstelle von Delphi oder Free Pascal vorzuziehen, da Object Pascal der Name einer Programmsprache ist, während Delphi und Free Pascal Kompilierer von Object Pascal sind.

    
Zé do Boné 04.10.2013 12:52
quelle

Tags und Links