Файл: Освой самостоятельно программирование для MS Access 2002 за 24 часа [П.Киммел].pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 21.10.2020
Просмотров: 7940
Скачиваний: 25

декса, вы в какой-то момент получите сообщение об ошибке выхода индекса за допус-
тимые пределы (см. рис. 12.2 в главе 12). К сожалению, для удаления элементов коллек-
ции цикл For Each
Next применять нельзя.
Где еще
Наилучший способ распознавания коллекций в числе других объектов: поиск на-
званий — имен существительных во множественном числе. Часто (об этом уже гово-
рилось) коллекции называют именно так. Вот почему желательно и удобно следовать
общепринятым соглашениям и правилам игры.
Встретив в тексте программы, отображаемой в окне редактора Microsoft Visual
Basic, идентификатор, напоминающий имя коллекции, поместите в его пределах кур-
сор и нажмите клавишу <F1>. Содержимое окна оперативной справочной системы
поможет вам убедиться в справедливости своих предположений.
Коллекции находят широкое применение. Визуальные компоненты (например,
раскрывающиеся или комбинированные списки) используют коллекции для хранения
текстовых элементов. Объекты
и ADO содержат коллекции, хранящие информа-
цию о таблицах, полях, ключах, столбцах и индексах баз данных. Существует и мно-
жество других примеров. Коллекции настолько же просты, насколько и мощны. Те-
перь,
с коллекциями, вы сможете легко справиться с объектами лю-
бых других классов.
Резюме
Коллекция — это, по существу, динамический массив (см. главу 12). Коллекция
представляет собой стандартный класс VBA, используемый для хранения элементов
простых или пользовательских типов данных, причем в любых сочетаниях.
Объекты намного мощнее, нежели фрагменты обычного кода. Удачно спроектиро-
ванный класс предоставляет возможность сокрытия данных и функциональных
средств, так что пользователь получает в свое распоряжение только ту часть интер-
фейса, которая действительно необходима. Если, работая над новым программным
проектом, вы решите применить массивы, рекомендуем изменить намерения в пользу
коллекций. Коллекции более просты в управлении, они способны динамически изме-
нять свои размеры, не требуя от вас дополнительных строк кода.
Изучение коллекций — это удачный старт на пути к классам и объектам. О классах
речь пойдет на следующих занятиях. А сейчас настоятельно советуем не пропустить
разделы "Вопросы и ответы" и "Задания", чтобы еще более усорершенствовать полу-
ченные знания.
Вопросы и ответы
Вопрос. Чем вы рекомендуете воспользоваться при создании нового программного про-
екта — массивами или коллекциями?
Ответ.
Безусловно, более предпочтительны коллекции, хотя и массивы применя-
ются довольно часто, особенно в старых программах.
Вопрос. Возможно ли расширить набор атрибутов класса
Collection?
Ответ.
Да. В теории и практике объектно-ориентированного программирования
подобная возможность носит название
наследования.
Подробнее см. главу "21-й час.
Основы программирования классов".
час. Коллекции данных 235

Вопрос. Обязательно ли, завершив работу с объектом класса, выполнять процедуру
очистки памяти с помощью присваивания значения
Nothing?
Ответ.
Я сам это делаю, хотя среди ваших коллег наверняка найдутся те, кто счи-
тает такие действия излишними и возлагает ответственность на стандартные средства
сборки мусора,
которые имеются в составе VBA. Важно придерживаться единого стиля
работы.
Вопрос. Все ли объекты коллекций работают одинаково?
Ответ.
Да. Если вы встретите переменную, представляющую собой объект коллек-
ции VBA, можете быть уверены в доступности всех базовых атрибутов, которые мы
изучили, — Count, Item, Add и Remove. Однако в новых классах коллекций, постро-
енных с использованием механизмов наследования, могут содержаться дополнитель-
ные свойства и методы.
Задания
Ниже приведены тестовые задания и упражнения, которые помогут вам самостоя-
тельно проверить уровень освоения материала, изложенного в этой главе. Ответы на
вопросы вы найдете в приложении.
Тесты
1. Чем отличается метод от обычной функции (процедуры)?
2. Как называется метод, позволяющий добавлять в коллекцию новые элементы?
3. Каково назначение конструкции присваивания переменной-объекту значения
Nothing?
4. Обязательно ли перед операцией очистки памяти, отведенной объекту коллекции,
удалять все его элементы?
5. Назовите способы циклического прохождения по элементам коллекции.
1. Создайте коллекцию и добавьте в нее 10 целочисленных значений.
2. Напишите процедуру, которая позволяет отобразить содержимое коллекции, по-
строенной при выполнении предыдущего упражнения, в окне Immediate.
3. Исправьте текст процедуры сортировки по методу "пузырька" (см. главу 12) с уче-
том возможности обработки элементов коллекции.
236 Часть IV. Определение типов данных. Использование массивов и коллекций

V
Программирование и базы данных
Access
Темы занятий
час. Стиль программирования: "Что такое хорошо,
и что такое плохо"
час. ADODB — ваш верный помощник
час. Применение языка SQL

час
Стиль
программирования: „Что такое хорошо,
и что такое плохо"
Поговорим о каше. Разве вы не понимаете, какое отношение этот славный про-
дукт питания имеет к программированию? Тогда это просто везение, если вам не до-
водилось иметь дела с программным кодом, напоминающим беспорядочное месиво.
Да, существует и такая неприглядная сторона профессиональной жизни. Собственно
говоря, пенять не на что, поскольку компьютерная индустрия до сих пор не вырабо-
тала четких критериев оценки стилистических качеств программного кода и не пред-
ложила единых правил игры.
Программисты до сих пор расходятся во мнениях, какой код следует считать хо-
рошим, а какой — плохим. Автор этой книги написал первую строчку своей первой
программы еще в 1978 году, но стал профессионально заниматься программировани-
ем только в 1987 году. В течение этих двенадцати лет он видел разное: от безобразных
опусов, нацарапанных новичками-студентами, до безукоризненных, потрясающих,
наилучших в мире программных творений. Как ни парадоксально, и те, и другие ока-
зались в равной степени поучительными.
Задача написания удобного для чтения, стилистически грамотного кода одинаково
важна как для программиста-любителя, в одиночку корпящего над выстраданной про-
блемой, так и для профессионала, работающего в коллективе единомышленников над
сложным и долговременным проектом. Создавая код, вы становитесь автором, но воз-
вращаясь к своей программе позже, чтобы внести необходимые исправления или вос-
пользоваться какими-либо готовыми решениями, вы становитесь ее пользователем.
Как показывает опыт, написанный код всего через несколько недель может показать-
ся автору совершеннейшей ерундой. Поэтому материал, который рассматривается на
этом занятии, окажется полезным даже в том случае, если ваш собственный продукт
(как вы считаете) никогда не увидит ни одна живая душа. В какой-то момент он все-
таки может кому-нибудь понадобиться — вам самому, вашему начальнику, коллеге
или ученику, которому захочется узнать, как не следует писать программы.