Читайте также:
|
|
Теперь мы смело можем пользоваться нашей переменной. Напишем в какой-нибудь процедуре (например FormLoad) имя переменной Stroka и поставим точку, у нас тут же появиться всплывающее меню, предлагающее на выбор три переменные, входящие в нашу переменную Stroka, и мы можем присвоить каждой свое значение, в соответствии с ее типом.
Внешне это напоминает, как будто мы работаем со свойствами переменной, но это не так.
Структура является обобщением определяемых пользователем типов (UDT), поддерживаемых предыдущими версиями Visual Basic. В дополнение к полям, структуры могут предоставлять свойства, методы и события. Структура может реализовать один или несколько интерфейсов, можно объявлять индивидуальные уровни доступа к каждому полю.
Чтобы создать структуру, можно комбинировать элементы данных различных типов. Структуры связывают один или несколько элементов друг с другом и с самой структурой. Объявленная структура получает составной тип данных и можно объявлять переменные этого типа.
Структуры используются для хранения в одной переменной нескольких связанных частей данных. Например, может потребоваться сохранить вместе имя, телефон и сведения о зарплате сотрудника. Для этих данных можно использовать несколько переменных, а можно определить структуру и использовать ее для одной переменной сотрудника. Преимущества структуры становятся яснее при большом количестве сотрудников и, следовательно, большом количестве экземпляров переменной.
Объявление структуры начинается Оператор Structure и завершается оператором EndStructure. Между этими двумя операторами должен быть объявлен хотя бы один элемент. Элементы могут иметь любой тип данных, но хотя бы один должен не быть общей переменной, либо не быть общим или непользовательским событием.
Невозможна инициализация каких-либо элементов структуры в объявлении структуры. Если объявлено, что переменная имеет тип структуры, элементам присваиваются значения путем доступа к ним через переменную.
Обсуждение различий между структурами и классами содержатся в разделе Структуры и классы (Visual Basic).
Для демонстрационных целей рассмотрим ситуацию, в которой необходимо отследить информацию об имени сотрудника, добавочном номере телефона и зарплате. Структура позволяет сделать это в одной переменной.
ОБЪЯВЛЕНИЕ СТРУКТУРЫ
1. Создайте начальные и конечные инструкции для структуры.
Можно указать уровень доступа для структуры с помощью Public (Visual Basic), Protected (Visual Basic) или Friend (Visual Basic)Private (Visual Basic), или можно оставить ее по умолчанию Public.
Private Structure employeeEnd Structure2. Добавьте элементы в тело структуры.
Структура должна иметь по крайней мере один элемент. Необходимо объявить каждый элемент и указать уровень доступа для него. При использовании Оператор Dim (Visual Basic) без любых ключевых слов, доступность по умолчанию Public.
Private Structure employee Public givenName As String Public familyName As String Public phoneExtension As Long Private salary As Decimal Public Sub giveRaise(raise As Double) salary *= raise End Sub Public Event salaryReviewTime()End StructureПоле salary в предыдущем примере является Private, это значит, что оно является недоступным за пределами структуры даже из содержащего класса. Однако процедура giveRaise является Public, поэтому она может быть вызвана за пределами структуры. Аналогично за пределами структуры можно вызывать событие salaryReviewTime.
В дополнение к переменным, процедурам Sub и событиям в структуре можно также определить константы, процедуры Function и свойства. Можно назначить не более одного свойства по умолчанию, предоставляющего по крайней мере один аргумент.
ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ:
1. Организация массива записей в VB.
2. Принципы работы с массивами записей.
ИСПОЛЬЗУЕМАЯ ЛИТЕРАТУРА:
1. Вирт Н. Алгоритмы и структуры данных. –М.: Мир, 2001.
2. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы. Построение и анализ. –М.: МЦНМО, 2000.
3. Ахо А., Хопкрофт Д., Ульман Д. Структуры данных и алгоритмы. –М.: Вильямс, 2000.
4. Голицына О.Л., Попов И.И. Основы алгоритмизации и программирования. –М.: Форум, 2008.
Дата добавления: 2015-07-11; просмотров: 107 | Нарушение авторских прав