Wie access Basis (super -) Klasse in Delphi?
In C# kann ich access Basis-Klasse base
Schlüsselwort, und in java kann ich darauf zugreifen, indem super
Schlüsselwort. Wie man das in delphi?
angenommen ich habe folgenden code:
type
TForm3 = class(TForm)
private
procedure _setCaption(Value:String);
public
property Caption:string write _setCaption; //adding override here gives error
end;
implementation
procedure TForm3._setCaption(Value: String);
begin
Self.Caption := Value; //it gives stack overflow
end;
Du musst angemeldet sein, um einen Kommentar abzugeben.
Erhalten Sie eine stackoveflow Ausnahme, weil die Linie
rekursiv ist.
Können Sie den Zugriff auf die parent-Eigenschaft
Caption
casting derSelf
- Eigenschaft der Basisklasse, zum Beispiel so :oder mit der
inherited
StichwortSollten Sie verwenden
inherited
Stichwort:Basis (C#) = "super" (java -) = vererbte (Object Pascal) (*)
Den 3 keywords arbeitet in der gleichen Weise.
1) - Aufruf Basisklassenkonstruktor
2) Nennen Basisklasse Methoden
3) zum Zuweisen von Werten zu Eigenschaften der Basisklasse auf (vorausgesetzt, Sie sind nicht privat, nur protected und public sind erlaubt)
4) Nennen Basisklasse destructor (Object Pascal nur. Java und C# keine Destruktoren)
(*) Object Pascal ist vorzuziehen anstelle von Delphi oder Free Pascal, weil die Objekt-Pascal ist der name einer Programmiersprache, während Delphi und Free Pascal Compiler für Object Pascal.