Основы офисного программирования и язык VBA

         

Еще раз о понятии "класс"


Класс является обобщением понятия типа данных и задает свойства и поведение объектов класса - экземпляров класса. Каждый объект принадлежит некоторому классу. Отношение между объектом и его классом такое же, как между переменной и ее типом. Класс - это объединение данных и обрабатывающих их процедур и функций. Данные называются также переменными класса, а процедуры и функции - методами класса. Переменные определяют свойства объекта, а совокупность их значений - состояние объекта. Наряду со свойствами и методами с классом связывается еще одно понятие - события. Каждый класс имеет определенный набор событий, которые могут возникать при работе с объектами класса, - чаще всего при определенных действиях пользователя, иногда, как результат действия системы. При возникновении события, связанного с тем или иным объектом, система посылает сообщение объекту, которое может быть обработано методом - обработчиком события, специально созданным при конструировании объекта. События обеспечивают большую гибкость при работе с объектами. Методы класса выполняются одинаково для всех объектов класса, а на события каждый объект реагирует индивидуально, поскольку имеет собственный обработчик события.

"Программирование в классах" является основным способом работы современного программирования.

За примерами далеко ходить не нужно. Так построена операционная система Windows, - окно являются ее основным объектом. Сам Office 2000 полностью построен на классах и работе с объектами этих классов, - здесь все, начиная от приложения и кончая отдельным символом, рассматривается как объект некоторого класса. Профессиональный прикладной программист, работающий в некоторой проблемной области и решающий разнообразные задачи из этой области, как правило, начинает с создания классов, описывающих специфику данной проблемной области. Затем уже решение тех или иных специальных задач он описывает в терминах работы с объектами данной проблемной области.

VBA позволяет программисту создавать собственные классы. Синтаксически класс представляет отдельный модуль специального вида - модуль класса. Мы постараемся сейчас детально и на примерах разобраться во всех особенностях этой важной конструкции.



Содержание раздела