|
Программирование >> Проектирование интерфейса пользователя
11 -й час От сложного к простому: создание собственных типов данных Пройдя долгий путь десяти уроков, вы заслужили право на отдых. Эта глава намного короче остальных по объему, но она важна по содержанию, поскольку служит прологом к дальнейшему изложению, посвященному непростым доктринам и темам программирования. В данной главе речь пойдет о типах данных, создаваемых пользователем-программистом. За служебным словом Туре (в других языках программирования употребляется термин Record) кроется концепция агрегации данных, имеющая глубокие исторические корни. Еще на заре информатизации первобытные программисты совершили открытие: во многих ситуациях удобнее воспринимать набор разрозненных элементов данных в виде единой целостной сущности. Хотя первая волна восторгов по поводу объектно-ориентированного подхода к программированию с шумом прокатилась еще в начале 90-х, эта технология до сих пор находится в центре внимания компьютерного сообщества. И ее реализация в рамках VBA - не исключение. Типы данных, создаваемые пользователем, - первый уровень объектно-ориентированного подхода. При рассмотрении реальной задачи зачастую бывает весьма удобно создать новый тип данных, состоящий из нескольких других, более простых, и позволяющий облегчить восприятие проблемы, ее формализацию и решение. Пользовательский тип данных - это шаг к пониманию и использованию полноценных классов и их объектов. В этой главе мы рассмотрим важные темы, связанные с агрегацией данных. Основные темы занятия. Как строить новые типы данных на основе существующих. Создание экземпляров пользовательских типов данных. Какие данные может содержать тип, определяемый пользователем. Перечислимые типы. О понятии агрегации Агрегацию можно трактовать как способ, придуманный человеком для преодоления барьера сложности восприятия окружающего мира. Все мы, усвоив тысячелетний опыт наших предшественников, научились втискивать небывало сложные понятия в относительно простые образы. Что вы можете сказать о любви? Да, это чертовски сложная штука! Говорите, что хотите - о полете бабочки над цветущим лугом, родных глазах со слезинками счастья, грубых биохимических реакциях в организме, закоулках подсознания, в которых, согласно Фрейду, скрываются низменные страсти, о сонетах Шекспира и лирике Байрона - все равно любовь остается абстракцией, а абстракции чудовищно сложны. Впрочем, вы и я способны совместить все мыслимые аспекты этого состояния человеческой души в одном представлении и назвать его простым словом - любовь. Теперь все понятно (нет - конечно, далеко не все, а может быть, непонятно ничего вовсе). Технические идеи также бывают сложными. Я говори ВА , а подразумеваю язык программирования для Windows, обладающий продолжительной историей развития и имеющий какое-то отношение к парню по имени Билл Гейтс . Все это труднопроизносимое многословие укладывается в три буквы - V-B-A. Дополнительное преимущество агрегации (пусть даже два человека по-разному истолковывают некое агрегированное понятие) состоит в том, что она обеспечивает отправную точку, которая окажется несомненно полезной в ходе дальнейших обсуждений и уточнений. Теперь даже сложная вещь может быть понята и адекватно воспринята, если растолковать подробно в письменном или устном виде. Типы данных - это та начальная ступень, которую программисты, искавшие способы агрегации простых элементов данных в более сложные информационные единицы, просто не могли обойти. Языки - естественные и искусственные - и сейчас продолжают развиваться. Не секрет, что компьютер породил даже целый пласт новой жаргонной лексики. Типы данных, определяемые пользователем, - это совсем не страшно. Так что давайте, не мудрствуя лукаво, приступим к делу. Объявление новых типов В своей основной обязательной форме объявление типа требует двух строк кода. Первая строка содержит служебное слово Туре, за которым следует уникальное название типа, а вторая состоит из пары слов - End Туре. Синтаксис объявления типа, не содержащего членов, выглядит так: V , Туре ИмяТипа A End Type В типе, определенном пользователем, должен содержаться хотя бы один элемент. Все слова в определении типа вводятся буквально, без кавычек и разделителей. Тип необходимо наделить уникальным именем. Правила именования типов обычны; в качестве имени может использоваться любая последовательность допустимых символов. Имя должно быть внятным и красноречивым, отражающим суть и назначение данных. Объявление типа подчиняется и другим правилам. Все объявления типов должны располагаться в начале модуля, вне каких бы то ни было функций или процедур, и содержать, по меньшей мере, по одному члену. Размещение объявлений типов внутри функций (процедур) не допускается. Новый термин Член типа, определенного пользователем, частью конструкции типа и указываемая в следней строками объявления типа. - это переменная, служащая пределах между первой и по- Если тип объявлен верно, он становится частью всплывающего в окне модуля списка доступных типов (рис ИЛ). Листинги демонстрирует пример объявления простого типа, содержащего единственный член - целочисленную переменную. - i\ contacts (contiKts) Option Co.npare Гло*Ь*лс Sub HevTv-peJJ
Puc. 11.1. Окно модуля с раскрытым списком доступные пов данных Листинг.1. Пример объявления простого пользовательского типа данных Туре ААА Anint As Integer End Type Sub NewType ( ) Dim A As AAA A.AnInt = 5 End Sub
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |