Class Statement


[accessmodifier] [Shadows] [inheritability] Class Name
End Class
accessmodifier (optional; Keyword)

The possible values of accessmodifier are Public, Private, and Friend. For more information, see Section 4.7 in Chapter 4.

Shadows (optional; Keyword)

Indicates that the Name class shadows any element of this same name in a base class.

inheritability (optional; Keyword)

One of the keywords, MustInherit or NotInheritable, must be used. MustInherit specifies that objects of this class cannot be created, but that objects of derived classes can be created. NotInheritable specifies that this class cannot be used as a base class.

Name (required; String literal)

The name of the class.


Defines a class and delimits the statements that define that class’ variables, properties, and methods. For a detailed discussion with examples, see Chapter 4.

Rules at a Glance

  • If the Inherits or Implements statements appear in a class module, they must appear before any other statements in the module. Moreover, the Inherits keyword must appear before the Implements keyword.

  • Name follows standard Visual Basic variable-naming conventions.

  • Within a class code block, members are declared as Public, Private, Protected, Friend, or Protected Friend. The Dim keyword is equivalent to Private when used in class modules (but it is equivalent to Public in structures). Property declarations are automatically Public.

  • The Class...End Class construct can include the following ...

Get VB.NET Language in a Nutshell, Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.