Inherits Сотрудники

End Class

При этом класс Кассир имеет те же члены, что и класс Сотрудник.

Преимущества наследования состоят в том, что позволяет использовать в дочерних классах функционал родительского класса и, при необходимости, дополнять его. При наследовании можно не только добавлять новый функционал, но и изменять существующий. Для этого используется такая особенность класса, как полиморфизм.

Полиморфизм

Полиморфизм представляет собой способность к изменению функционала, унаследованного от базового класса. (Функционалы - это функции, которые используют в качестве аргументов или результатов другие функции).

Как пример, можно привести класс "Фигура", который отображается с помощью метода "Отобразить". В каждом из созданных на его основе классах "Круг", "Квадрат", "Треугольник" можно изменить только функционал по отображению фигуры на экране. Если бы не было такой возможности, пришлось бы заново создавать код, проверяющий тип фигуры, и, в зависимости от него, выбирать метод прорисовки. Полиморфизм позволяет значительно сократить объём кода и повысить его читабельность.

Интерфейсы

В VB 2010 не поддерживается множественное наследование классов, т. е. каждый класс имеет только один базовый класс. Но среда разработки позволяет разработчикам указывать набор методов, которые класс обязан реализовывать. Это обеспечивается с помощью интерфейсов. Класс может иметь несколько интерфейсов.

Интерфейс представляет собой конструкцию, в которой указано, какие методы гарантированно реализуются классом. Класс может не реализовывать какой-либо интерфейс, но, если он его реализует, то обязан предоставить реализацию всех методов этого интерфейса.

Обобщённые классы

Основанием для их появления послужила необходимость создания одного и того же кода для различных типов данных. Примером такого кода могут служить классы-контейнеры: списки, массивы, в которых можно хранить объекты разных типов. Однако, при разных типах данных и использовании одного и того же кода может нарушиться корректность кода.

Концепция обобщённых классов (generic) решает эту проблему, вводя понятие параметра. Каждый класс, структура, интерфейс могут быть параметризованы, при этом конкретный тип параметра может задаваться как на этапе конструирования, так и при выполнении программы.

Например, если необходимо создать список строк, то можно использовать обобщённый класс списков: System.Collections.Generic.List, задав ему в качестве параметра тип данных String:

Dim a As New System.Collections.Generic.List(Of String).

Визуальные классы

Создание визуальных классов (форм, кнопок и т. п.) ничем не отличается от создания любого класса объектов.

Элемент управления Windows Forms представляет собой класс, производный от класса System.Windows.Forms.Control.

Можно разработать составной элемент управления, объединяя разные элементы управления Windows Forms. Чтобы создать составной элемент управления, нужно сделать его производным от класса System.Windows.Forms.UserControl. Базовый класс UserControl обеспечивает для дочерних элементов управления работу в группе. Составные элементы управления, производные от System.Windows.Forms.UserControl, называются пользовательскими элементами управления.

Они могут расширить функциональные возможности (например, проверять допустимость вводимых пользователем данных, изменять свойства отображения или выполнять другие действия, необходимые разработчику).