Name
Inherited Keyword
Syntax
Subroutine header; begin ... inherited; inheritedName(Arguments...);
Description
A method in a derived class can call a method of its base class by
prefacing the method call with the inherited
keyword instead of an object reference.
To call an inherited procedure with the same name and arguments, you
can use the bare keyword (inherited;). To call an
inherited function, to use different arguments, or to call a
different method, you must supply the method name and arguments as in
a normal method
call.
Tips and Tricks
Most constructors call the inherited constructor at the beginning of the method. Most destructors call the inherited destructor at the end.
Be aware of the needs of your derived class. Some methods extend the behavior of the base class, and other methods replace the ancestor’s behavior. The example below demonstrates both kinds of methods.
In a message handler, using the bare keyword calls the message handler for the same message number in an ancestor class. If no ancestor class has a message handler for the same message number,
inheritedcallsDefaultHandler. Note that the ancestor’s message handler can have a different method name, and it might even be a private method.If you use the bare keyword, and no ancestor class has a method of the same name, Delphi ignores the
inheritedstatement.
Example
// See the override directive for the class declaration. // Create the bitmap when creating the control. constructor TTile.Create(Owner: TComponent); ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access