|
Программирование >> Проектирование интерфейса пользователя
На прошлых занятиях рассказывалось о том, как пользоваться готовыми классами. Но теперь вы изучили способы создания собственных. Класс - это тип данных, определяемый пользователем-программистом. Код класса сохраняется в отдельном модуле. Классы состоят из свойств и методов, в совокупности называемых атрибутами, или членами. Свойства - это элементы данных, а методы - правила их обработки. Уровень доступности атрибутов класса задается с помощью служебных слов-квалификаторов Public и Private. Члены класса, помеченные словом Private, доступны исключительно для методов этого же класса, и забота о них целиком возложена на плечи автора-программиста. Атрибуты Public служат частью внешнего, общего интерфейса класса. Объектно-ориентированный подход предоставляет большое количество преимуществ и целым коллективам программистов, работающих над серьезными проектами, и даже любителям-одиночкам, позволяя концентрировать внимание на самтх значительных частях общей задачи. Классы VBA предоставляют вам все необходимое. Следующая глава, 22-й час. Совершенствование типов данных , посвящена рассмотрению ряда усовершенствованных возможностей объектно-ориентированного подхода, причем в ходе ее изложения мы будем опираться на материал текущего занятия. Не упустите случая закрепить свои объектно-ориентированные навыки и ознакомьтесь с разделами Вопросы и ответы и Задания , приведенными ниже. Вопросы и ответы Вопрос. Как только процедуры и функции становятся частью класса, их перестают называть процедурами и функциями. Почему? Ответ. Это не просто игра слов. Новые термины подразумевают расширенное толкование. Методы - да, это процедуры и функции, но за ними стоит кое-что еще. Property-методы можно трактовать и как данные. А свойства - это больше чем обычные элементы информации. Новая терминология требует и нового осмысления. Без нее мы не сможем понимать друг друга. Вопрос. Так ли принципиален вопрос освоения способов объектпо-ориептироваппого программирования в контексте использования Access? Ответ. И да, и нет. Практически все, с чем вы имеете дело, работая в Access, связано с теми или иными аспектами объектно-ориентированного программирования. Разумеется, можно заниматься программированием для Access, ограничившись применением существующих классов, - для решения многих задач этого достаточно. Но наиболее эффективные результаты достигаются только тогда, когда вы способны использовать для решения конкретной проблемы все имеющиеся возможности. Вопрос. Должен ли я досконально овладеть всеми идиомами объектпо-ориептироваппого подхода, чтобы суметь построить собственный класс? Ответ. Нет. На этом занятии были рассмотрены базовые понятия и приемы, и теперь вы вполне в состоянии создавать собственные классы, хотя в VBA существуют и более сложные процессы. Важно понимать, что различные объектно-ориентированные языки программирования далеко не равноценны. В Object Pascal или C++, например, поддерживается множество других идиом, и поэтому каждый из них гораздо более труден для изучения - разумеется, они более мощные. Access VBA предлагает разумный компромисс между гибкостью и эффективностью, с одной стороны, и простотой использования - с другой. Вопрос. Как узнать, когда именно следует создавать класс? Ответ. Хороший вопрос. Далеко не обязательно, чтобы весь код программы принадлежал классам. Если вы сталкиваетесь с повторяющейся задачей, охватывающей определенный круг данных и способов их обработки, соответствующая группа строк кода становится подходящей кандидатурой для оформления в виде класса. Процесс перехода структурного кода в объектно-ориентированный может происходить постепенно. Наглядный пример - класс FileStream. Работа с файлами предполагает наличие средств их открытия, чтения, записи и т.п. И со временем вполне естественно возникает мысль об объединении всех требуемых элементов данных и процедур в единое целое, класс. Задания Ниже приведены тестовые задания и упражнения, которые помогут вам самостоятельно проверить уровень освоения материала, изложенного в этой главе. Ответы на вопросы вы найдете в приложении. Тесты 1. Тип и переменная находятся в такой же взаимосвязи, как класс и ... (вставьте пропущенный термин). 2. Класс может содержать свойства, для котортх не определены методы Property. Верно ли это? .3. Каким обобщенным термином обозначаются процедуры и функции-члены класса? 4. Перечислите действия, необходимые для создания нового модуля класса. 5. С помощью каких служебнтх слов обозначаются Property-методы, предназначенные для чтения переменных и присвоения им значений? Упражнения 1. Определите класс, содержащий переменные-свойства для хранения данных о телефонных номерах и именах их владельцев. 2. Наберите код класса FileStream в окне редактора. Постройте тестовую процедуру, которая в целях проверки корректности кода класса должна записывать в файл строку текста, возвращать указатель в начало файла и считывать ту же строку. 3. Примените объект Scripting. FileSystemObject для чтения файла с данными, сохраненными при выполнении предыдущего упражнения. 22-й час Совершенствование типов данных Анализ в программировании - это процесс постижения проблемы. Синтез - ее реализация. Примеры формального анализа возникают там, где аналитик, общаясь с заказчиком или пользователем будущей программы, выясняет природу проблемы. Неформальный подход к анализу проявляется в тех случаях, когда вы сами, совершенно самостоятельно решаете, что для достижения результата должна быть написана определенная программа. Подобные примеры характерны для ситуаций, когда количество участников рабочей группы не превышает двух-трех человек. В крупномасштабных проектах анализ может выполняться одними людьми, а практическая реализация принятых решений - другими. В настоящий момент вы будете выступать и в роли аналитика, и в роли программиста. Существует опасность бессистемного создания классов, а также бессмысленного их наполнения. На этом занятии речь идет о том, как создать удачный класс и его объекты. Основные темы занятия. Критерии классового подхода. Принципы объектно-ориентированного проектирования. Расширение возможностей существующих классов посредством агрегации. Использование новых классов. Определение цели На этом занятии основной причиной, побуждающей строить новый класс, будем считать потребность в практической реализации ассоциативного массива. Ассоциативным называется массив, в котором каждому значению соответствует именованный ключ. Об ассоциативном массиве можно говорить как о разновидности базы данных. Окружающая действительность предлагает немало образцов задач, нуждающихся в решении с помощью ассоциативных массивов. Знакомые всем файлы INI, предназна-
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |