Overridable (Visual Basic)

Specifies that a property or procedure can be overridden by an identically named property or procedure in a derived class.

Remarks

The Overridable modifier allows a property or method in a class to be overridden in a derived class. The NotOverridable (Visual Basic) modifier prevents a property or method from being overridden in a derived class. For more information, see Inheritance Basics (Visual Basic).

If the Overridable or NotOverridable modifier is not specified, the default setting depends on whether the property or method overrides a base class property or method. If the property or method overrides a base class property or method, the default setting is Overridable; otherwise, it is NotOverridable.

You can shadow or override to redefine an inherited element, but there are significant differences between the two approaches. For more information, see Shadowing in Visual Basic.

An element that can be overridden is sometimes referred to as a virtual element. If it can be overridden, but does not have to be, it is sometimes also called a concrete element.

You can use Overridable only in a property or procedure declaration statement.

Combined Modifiers

You cannot specify Overridable or NotOverridable for a Private method.

You cannot specify Overridable together with MustOverride, NotOverridable, or Shared in the same declaration.

Because an overriding element is implicitly overridable, you cannot combine Overridable with Overrides.

Usage

The Overridable modifier can be used in these contexts:

Function Statement (Visual Basic)

Property Statement

Sub Statement (Visual Basic)

See Also

Reference

MustOverride (Visual Basic)

NotOverridable (Visual Basic)

Overrides (Visual Basic)

Concepts

Inheritance Basics (Visual Basic)

Shadowing in Visual Basic

Other Resources

Modifiers (Visual Basic)

Keywords (Visual Basic)

Change History

Date

History

Reason

September 2011

Clarified information about the default behavior.

Customer feedback.