Inherited
From Free Pascal wiki
Jump to navigationJump to search
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
русский (ru) │
Back to Reserved words.
In an overridden virtual method, it is often necessary to call the parent class
’ implementation of the virtual method.
This can be done with the inherited
reserved word. Likewise, the inherited
keyword can be used to call any method of the parent class
.
This case is the simplest:
Type
TMyClass = Class(TComponent)
Constructor Create(AOwner : TComponent); override;
end;
Constructor TMyClass.Create(AOwner : TComponent);
begin
Inherited;
// Do more things
end;
Constructors and destructors case
Constructor
, example 1 :
...
TTest.Create;
begin
Inherited; // Always at the beginning of the constructors and start the constructor (code only) of the parent class
...
end;
Constructor
, example 2 :
...
TTest.Create(...);
begin
Inherited Create(...); // Always at the beginning of the constructors and start the constructor (code only) of the parent class
...
end;
...
Destructor
, example 3 :
TTest.Destroy;
begin
...
Inherited; // Always at the end of the destructors and start the destructor (code only) of the parent class
end;
...
Virtual methods override
type
TMyClass = class(TStrings)
function GetObject(Index: Integer): TObject; override;
end;
function TMyClass.GetObject(Index: Integer): TObject;
begin
// Get result from parent class method
Result := inherited GetObject(Index);
// Do something
end;