Программирование >>  Проектирование интерфейса пользователя 

1 ... 56 57 58 [ 59 ] 60 61 62 ... 153



11 -й час

От сложного к простому:

создание собственных типов данных

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

За служебным словом Туре (в других языках программирования употребляется термин Record) кроется концепция агрегации данных, имеющая глубокие исторические корни. Еще на заре информатизации первобытные программисты совершили открытие: во многих ситуациях удобнее воспринимать набор разрозненных элементов данных в виде единой целостной сущности. Хотя первая волна восторгов по поводу объектно-ориентированного подхода к программированию с шумом прокатилась еще в начале 90-х, эта технология до сих пор находится в центре внимания компьютерного сообщества. И ее реализация в рамках VBA - не исключение.

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

Пользовательский тип данных - это шаг к пониманию и использованию полноценных классов и их объектов.

В этой главе мы рассмотрим важные темы, связанные с агрегацией данных.

Основные темы занятия.

Как строить новые типы данных на основе существующих.

Создание экземпляров пользовательских типов данных.

Какие данные может содержать тип, определяемый пользователем.

Перечислимые типы.



О понятии агрегации

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

Что вы можете сказать о любви? Да, это чертовски сложная штука! Говорите, что хотите - о полете бабочки над цветущим лугом, родных глазах со слезинками счастья, грубых биохимических реакциях в организме, закоулках подсознания, в которых, согласно Фрейду, скрываются низменные страсти, о сонетах Шекспира и лирике Байрона - все равно любовь остается абстракцией, а абстракции чудовищно сложны. Впрочем, вы и я способны совместить все мыслимые аспекты этого состояния человеческой души в одном представлении и назвать его простым словом - любовь. Теперь все понятно (нет - конечно, далеко не все, а может быть, непонятно ничего вовсе).

Технические идеи также бывают сложными. Я говори ВА , а подразумеваю

язык программирования для Windows, обладающий продолжительной историей развития и имеющий какое-то отношение к парню по имени Билл Гейтс . Все это труднопроизносимое многословие укладывается в три буквы - V-B-A. Дополнительное преимущество агрегации (пусть даже два человека по-разному истолковывают некое

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

Теперь даже сложная вещь может быть понята и адекватно воспринята, если растолковать подробно в письменном или устном виде.

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

жаргонной лексики.

Типы данных, определяемые пользователем, - это совсем не страшно. Так что давайте, не мудрствуя лукаво, приступим к делу.

Объявление новых типов

В своей основной обязательной форме объявление типа требует двух строк кода. Первая строка содержит служебное слово Туре, за которым следует уникальное название типа, а вторая состоит из пары слов - End Туре. Синтаксис объявления типа, не содержащего членов, выглядит так:

V , Туре ИмяТипа A End Type


В типе, определенном пользователем, должен содержаться хотя бы один элемент.

Все слова в определении типа вводятся буквально, без кавычек и разделителей. Тип необходимо наделить уникальным именем. Правила именования типов обычны; в качестве имени может использоваться любая последовательность допустимых символов. Имя должно быть внятным и красноречивым, отражающим суть и назначение



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

внутри функций (процедур) не допускается.

Новый термин

Член типа, определенного пользователем, частью конструкции типа и указываемая в следней строками объявления типа.

- это переменная, служащая пределах между первой и по-

Если тип объявлен верно, он становится частью всплывающего в окне модуля списка доступных типов (рис ИЛ). Листинги демонстрирует пример объявления простого типа, содержащего единственный член - целочисленную переменную.

- i\ contacts (contiKts)

Option Co.npare Гло*Ь*лс

Sub HevTv-peJJ

42

ИЧ Access Ц

iffl.AccessOtjed

3 VCOlorifldt

Puc. 11.1. Окно модуля с раскрытым списком доступные пов данных

Листинг.1. Пример объявления простого пользовательского типа данных

Туре ААА

Anint As Integer End Type

Sub NewType ( ) Dim A As AAA A.AnInt = 5

End Sub



1 ... 56 57 58 [ 59 ] 60 61 62 ... 153

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика