Inherited
From Free Pascal wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
русский (ru) │
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;