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

1 ... 68 69 70 [ 71 ] 72 73 74 ... 153


декса, вы в какой-то момент получите сообщение об ошибке выхода индекса за допустимые пределы (см. рис. 12.2 в главе 12). К сожалению, для удаления элементов коллекции цикл For Each . .. Next применять нельзя.

Где еще применяются колле кции

Наилучший способ распознавания коллекций в числе других объектов: поиск названий - имен существительных во множественном числе. Часто (об этом уже говорилось) коллекции называют именно так. Вот почему желательно и удобно следовать общепринятым соглашениям и правилам игры.

Встретив в тексте программы, отображаемой в окне редактора Microsoft Visual

Basic, идентификатор, напоминающий имя коллекции, поместите в его пределах курсор и нажмите клавишу <F1>. Содержимое окна оперативной справочной системы

поможет вам убедиться в справедливости своих предположений.

Коллекции находят широкое применение. Визуальные компоненты (например,

раскрывающиеся или комбинированные списки) используют коллекции для хранения текстовых элементов. Объекты DAO и ADO содержат коллекции, хранящие информацию о таблицах, полях, ключах, столбцах и индексах баз данных. Существует и множество других примеров. Коллекции настолько же просты, насколько и мощны. Теперь, ознакомившись с коллекциями, вы сможете легко справиться с объектами любых других классов.

Резюме

Коллекция - это, по существу, динамический массив (см. главу 12). Коллекция

представляет собой стандартный класс VBA, используемый для хранения элементов

простых или пользовательских типов данных, причем в любых сочетаниях.

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

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

Изучение коллекций - это удачный старт на пути к классам и объектам. О классах речь пойдет на следующих занятиях. А сейчас настоятельно советуем не пропустить разделы Вопросы и ответы и Задания , чтобы еще более усорершенствовать полученные знания.

Вопросы и ответы

Вопрос. Чем вы рекомендуете воспользоваться при создании нового программного проекта - массивами или коллекциями?

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

Вопрос. Возможно ли расширить набор атрибутов класса Collection?

Ответ. Да. В теории и практике объектно-ориентированного программирования подобная возможность носит название наследования. Подробнее см. главу 21-й час. Основы программирования классов .



Вопрос. Обязательно ли, завершив работу с объектом класса, выполнять процедуру очистки памяти с помощью присваивания значения Nothing?

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

работы.

Вопрос. Все ли объекты коллекций работают одинаково?

Ответ. Да. Если вы встретите переменную, представляющую собой объект коллекции VBA, можете быть уверены в доступности всех базовых атрибутов, которые мы изучили, - Count, Item, Add и Remove. Однако в новых классах коллекций, построенных с использованием механизмов наследования, могут содержаться дополнительные свойства и методы.

Задания

Ниже приведены тестовые задания и упражнения, которые помогут вам самостоятельно проверить уровень освоения материала, изложенного в этой главе. Ответы на вопросы вы найдете в приложении.

Тесты

1. Чем отличается метод от обычной функции (процедуры)?

2. Как называется метод, позволяющий добавлять в коллекцию новые элементы?

3. Каково назначение конструкции присваивания переменной-объекту значения

Nothing?

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

5. Назовите способы циклического прохождения по элементам коллекции.

Упражнения

1. Создайте коллекцию и добавьте в нее 10 целочисленн1х значений.

2. Напишите процедуру, которая позволяет отобразить содержимое коллекции, построенной при выполнении предыдущего упражнения, в окне Immediate.

3. Исправьте текст процедуры сортировки по методу пузырька (см. главу 12) с учетом возможности обработки элементов коллекции.




Часть V

Программирование и базы данных Access

Темы занятий

14-й час. Стиль программирования: Что такое хорошо, и что такое плохо

15-й час. ADODB - ваш верный помощник

16-й час. Применение языка SQL



1 ... 68 69 70 [ 71 ] 72 73 74 ... 153

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