Объекты, методы, свойства, события




Объектно-ориентированное программирование на примере языка VBA

Основные понятия объектно-ориентированного программирования

В основе объектно-ориентированного программирования (ООП) лежат следующие базовые понятия: объект, свойство объекта, метод обработки, событие, класс объектов.

Определение 1. Объект - совокупность свойств (параметров) определенных сущностей и методов их обработки (программных средств), т.е. объект– это нечто целое, объединяющее некоторые данные, чем можно управлять с помощью кода VBA. Например, любое приложение Windows – Word, Excel, Explorer и другие являются объектом языка, который называется Application (Приложение); окно программы – объект Windows; документ HTML – объект Document; диапазон ячеек в Excel – объект Range и т.д.

Объект содержит инструкции (программный код), определяющие действия, которые может выполнять объект, и обрабатываемые данные. Один объект может выступать объединением вложенных в него по иерархии других объектов. В частном случае, в VBA объектом являются элементы пользовательского интерфейса, которые создаются на Форме пользователя (UserForm) или на рабочем листе, а также рабочая книга и её элементы.

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

Определение 2. Класс - совокупность объектов, характеризующихся общностью применяемых методов обработки или свойств.

Определение 3. Свойство - характеристика объекта, его параметр.

Все объекты наделены определенными свойствами, которые в совокупности выделяют объект из множества других объектов. Свойства объектов различных классов могут "пересекаться", т.е. возможны объекты обладающие одинаковыми свойствами:

Одним из свойств объекта являются метод его обработки.

Определение 4. Метод - программа действий над объектом или его свойствами.

Метод рассматривается как программный код, связанный с определенным объектом; осуществляет преобразование свойств, изменяет поведение объекта. Объект может обладать набором заранее определенных встроенных методов обработки, либо созданных пользователем или заимствованных в стандартных библиотеках, которые выполняются при наступлении заранее определенных событий, например, однократное нажатие левой кнопки мыши, вход в поле ввода, выход из поля ввода, нажатие определенной клавиши и т.п.

Проводя лингвистические аналогии, можно сказать, что объекты – это существительные, свойства – это прилагательныеметоды – глаголы в предложениях языка VBA.

Определение 5. Событие - изменение состояния объекта.

Внешние события генерируются пользователем (например, клавиатурный ввод или нажатие кнопки мыши, выбор пункта меню, запуск макроса); внутренние события генерируются системой.

 

Существуют различные объектно-ориентированные технологии и методики проектирования программных продуктов, которые должны обеспечить выполнение важнейших принципов объектного подхода:

¨ Инкапсуляция (замыкание) свойств данных и программ в объекте. Инкапсуляция – это скрытие информации. При ООП возможен доступ к объекту только через его методы и свойства. Внутренняя структура объекта скрыта от пользователя, т.е. объекты – это самостоятельные сущности, отделенные от внешнего мира. Инкапсуляция позволяет изменять реализацию объектов любого класса без опасений, что это вызовет нежелательные побочные эффекты в программной системе. Это мощное средство обеспечивает многократное использование одного и того же программного кода, позволяя собирать программу из готовых модулей, как здание из отдельных кирпичиков, но различной архитектуры и функционального назначения.

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

¨ Полиморфизм – способность объекта реагировать на запрос (вызов метода) сообразно своему типу, при этом одно и то же имя метода может использоваться для различных классов объектов. Например, команда Print, будет по-разному воспринята черно-белым или цветным принтером.

 

Объекты, методы, свойства, события

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

Существует определенный формат программного кода, задающего установку свойства, получения значения свойства и использование метода:

Объект.Свойство = Значение

Переменная= Объект.Свойство

Объект.Метод [Параметр1 [… …]

Здесь Объект – имя настраиваемого объекта; Свойство – это характеристика, которую нужно изменить; Метод – это команда, которая используется для изменения объекта; Значение – это новая установка свойства; Параметр – это аргумент, используемый методом.

Пример 1. Следующий пример показывает, как можно изменить текст в строке заголовка окна приложения посредством установки нового значения свойству Caption объекта Application:

Application.Caption = “Пример установки свойства”

Различные типы объектов могут иметь различные методы.

Пример 2. Пример применения метода Show (показать) к объекту UserForm (Форма Пользователя):

UserForm 1. Show

В результате применения этого метода Форма Пользователя будет выведена на активный рабочий лист текущей книги Excel.

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

Иногда свойства и методы объекта оказываются связанными в том смысле, что выполнение некоторого метода приводит к изменению свойств объекта. В свою очередь, изменение некоторых свойств может вызвать наступление событий. Очевидно, что применение метода Move (переместить), допустим, к тому же объекту UserForm изменит значения его свойств (Left и Top), определяющих его местоположение. С другой стороны, результатом принудительного изменения размеров объекта, очевидно, будет событие Resize.

Программа может обрабатывать два основных типа событий: инициируемые пользователем и генерируемые системой. События, инициируемые пользователем, возникают в результате его действий: нажатие клавиши, щелчки кнопками мыши. Но есть события, являющиеся следствием действий пользователя. Например, снятие или установка Флажка пользователем изменяет значение его свойства Value, а это означает наступление события Change.

Таким образом, любое из действий пользователя может вызвать целый набор событий, и порядок их вызова может быть важным. Основными действиями пользователя, генерирующими вызов событий в программе, являются следующие:

§ Запуск программы;

§ Нажатие клавиши;

§ Щелчок кнопкой мыши;

§ Перемещение мыши;

§ Выход из программы.

 




Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-07 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: