Skip to content

OVERRIDE


Method attribute; specifies that a method must override a virtual

Syntax

vb
Type typename Extends basename

...
Declare Sub|Function|Operator|Property|Destructor ... ( [parameterlist] ) [[ byref ] As datatype] Override
...

End Type

Description

In method declarations, Override can be used to indicate that this method is expected to override a virtual or abstract method from the base class. Then the compiler will show an error if the method does not override anything (only a non-static method can override a virtual or abstract method).

Use of Override is not mandatory to override a virtual or abstract method, it is highly recommended, as it will help prevent inadvertent errors (name/signature not matching).

Override can only be specified on the method declaration in the UDT block, but not on the method body, because it is just a compile-time check in the context of the inheritance hierarchy, and does not affect the method in any way.

Override is only recognized as a keyword at the end of member procedure declarations. It can still be used as identifier elsewhere.

Examples

start GeSHi

vb
Type A Extends Object
    Declare Virtual Sub f1( )
    Declare Virtual Function f2( ) As Integer
End Type

Type B Extends A
    Declare Sub f1( ) Override
    Declare Function f2( ) As Integer Override
End Type

Sub A.f1( )
End Sub

Function A.f2( ) As Integer
    Function = 0
End Function

Sub B.f1( )
End Sub

Function B.f2( ) As Integer
    Function = 0
End Function

end GeSHi

Differences from QB

  • New to FreeBASIC

See also

  • Virtual, Abstract

Back to DocToc

Translated from FreeBASIC official docs. Contact us for removal if infringed.
FreeBASIC is an open-source project, not affiliated with Microsoft