Skip to Content
Programming Visual Basic .NET, Second Edition
book

Programming Visual Basic .NET, Second Edition

by Jesse Liberty
April 2003
Intermediate to advanced
560 pages
14h 4m
English
O'Reilly Media, Inc.
Content preview from Programming Visual Basic .NET, Second Edition

NotInheritable Classes

The opposite side of the design coin from MustInherit is NotInheritable. Just as classes marked with MustInherit are considered abstract, classes marked with NotInheritable are considered sealed . Although an abstract class is intended to be derived-from and to provide a template for its subclasses to follow, a sealed class does not allow classes to derive from it at all. The NotInheritable keyword placed before the class declaration precludes derivation. Classes are most often marked NotInheritable to prevent accidental inheritance.

If the declaration of Window in Example 6-3 is changed from MustInherit to NotInheritable, the program will fail to compile. If you try to build this project, the compiler will return the following error message:

C:\...Module1.vb(13): 'NotInheritable' classes cannot have members 
declared 'MustOverride'.

Microsoft recommends using NotInheritable “when it will not be necessary to create derived classes”[11] and also when your class consists of nothing but shared methods and properties.

[11] Visual Studio .NET Combined Collection: Base Class Usage Guidelines.

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.
Start your free trial

You might also like

Programming Visual Basic .NET

Programming Visual Basic .NET

Dave Grundgeiger
VB.NET Language in a Nutshell, Second Edition

VB.NET Language in a Nutshell, Second Edition

Steven Roman PhD, Ron Petrusha, Paul Lomax

Publisher Resources

ISBN: 0596004389Supplemental ContentCatalog PageErrata