7.1.5
Типы данных, определяемые пользователем
Выше упоминалось, что Visual Basic позволяет
создавать собственные типы данных или, как их называют, типы данных,
определяемые пользователем. Они являются типами структурного вида. Эти типы
создаются на основе базовых типов Visual Basic. Возможность создавать свои типы
данных полезна в тех случаях, когда программа работает с группой элементов
различного базового типа, но связанных между собой по
смыслу.
Создание нового типа осуществляется следующей
конструкцией:
Type ИмяТипа
Имя1As Тип
‘ Структурный элемент создаваемого типа
_
- базовый
тип
Имя2 As Тип ‘
Структурный элемент создаваемого типа –
базовый
тип
. .
.
ИмяN As Тип ‘
Структурный элемент создаваемого типа_
- базовый тип
End Type
где Type - ключевое слово, которое указывает, что
создается новый пользовательский тип данных:
ИмяТипа- имя
создаваемого типа (идентификатор);
NameN As Тип – описание
структурного элемента создаваемого типа;
End Type - ключевые слова завершающие
описание нового типа.
Например, пользовательский тип данных,
предназначенный для хранения фамилии, даты рождения и даты поступления на работу
сотрудника может быть объявлен следующим образом:
Type Сотрудник
strФамилия As String ‘ Структурный элемент для _
хранения
фамилии
ДатаРождения As Date ‘
Структурный элемент для _
хранения даты
рождения
ДатаПоступления
As Date ‘ Структурный элемент _
для
хранения даты поступления на
работу
End Type
Созданный тип данных может быть
использован в программе. Для этого в разделе деклараций программы надо объявить
переменную такого типа. Объявление переменной выполняется также, как и в случае
базовых типов:
Dim udtСлужащий As Сотрудник ‘ Объявлена переменная _
пользовательского типа Сотрудник
Обращение к элементу пользовательского типа имеет
синтаксис:
ИмяПеременной.ИмяСтруктурногоЭлемента
Пример:
udtСлужащий.strФамилия=”Иванов”
Пользовательский тип данных
может содержать структурные элементы, тип которых также является
пользовательским. Можно также декларировать массив, элементы которого
принадлежат к определяемому пользовательскому типу.