|
Программирование >> Проектирование интерфейса пользователя
декса, вы в какой-то момент получите сообщение об ошибке выхода индекса за допустимые пределы (см. рис. 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
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |