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

1 ... 122 123 124 [ 125 ] 126 127 128 ... 153


На прошлых занятиях рассказывалось о том, как пользоваться готовыми классами. Но теперь вы изучили способы создания собственных. Класс - это тип данных, определяемый пользователем-программистом. Код класса сохраняется в отдельном модуле. Классы состоят из свойств и методов, в совокупности называемых атрибутами, или членами. Свойства - это элементы данных, а методы - правила их обработки.

Уровень доступности атрибутов класса задается с помощью служебных слов-квалификаторов 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, предназна-



1 ... 122 123 124 [ 125 ] 126 127 128 ... 153

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