Основные элементы объектно-ориентированных языков программирования (на примере VBA)
Как следует из вышесказанного, компьютер из мощного вычислителя превращается в мощное средство управления электронными документами и мощное коммуникационное средство. Действительно, по разнообразным информационно-вычислительным сетям можно отправлять (и получать) сообщения в самые отдаленные пункты всего мира, обмениваться данными и программами с сотнями и тысячами абонентов, получать любую справочную информацию из систем оперативных услуг. Компьютер может быть подключен к абонентской телефонной сети и получить доступ к другим абонентам этой сети, к электронной почте, к телетайпам и телефаксам, работающим с этой сетью (подобные сервисные сети уже имеются: сети "Роснет", RJEX 400 и др.), Для подключения ко всем этим сетям необходим модем. Модем устанавливается в слот (разъем) материнской платы ПК или автономно подключается к ее последовательном) порту. Компьютерный модем часто имеет два внешних разъема: один используется для включения в телефонную сеть, второй - для подключения параллельно модему телефонного аппарата. Для компьютеров следует использовать высокоскоростные модемы (14400, 28800 и 33600 бод), ибо они, кроме всего прочего, существенно сэкономят расходы на аренду каналов связи: передача 1 Мбайта данных со скоростью 300 бод занимает около 3 ч, а со скоростью 28800 бод - менее 2 мин. Компьютер с факс-модемом работает намного надежнее (не "зажевывает" бумагу) и устойчивее телефакса, обеспечивает много дополнительных сервисных услуг: существенно более удобная и эффективная автоматизация подготовки текстов факса с использованием всего арсенала компьютерных средств, интеграция с электронной почтой, телексом и базой данных компьютера, наличие больше объемной электронной справочной книги, содержащей самую разнообразную полезную информацию, разграничение права доступа сотрудников и внешних абонентов к факсу, контроль прохождения корреспонденции, подробная статистика работы с факсом и т. п. (так почему же не заменить факсимильный аппарат на персональный компьютер с модемом, сканером и принтером, тем более что ПК н так имеется на столе у секретаря любой уважающей себя фирмы?). Уже выпускаются клавиатуры компьютеров, с которых можно непосредственно набирать номер телефона абонента (клавиатура Compu Phone 2000), уже появились компьютеры, оборудованные видеокамерой и микрофоном (фирмы AT&T), позволяющие не только обмениваться факсами с партнером, но и видеть его, и разговаривать с ним. Ожидается появление многофункциональной консоли, объединяющей в себе миниатюрный компьютер, телефон, факс и видеофон и выполненной в виде наручных часов (сейчас имеется подобная конструкция в виде нарукавной повязки). Поистине уже нельзя будет рассчитывать на неосведомленного бизнесмена: все решения будут приниматься на основе электронной информации.
Основные элементы объектно-ориентированных языков программирования (на примере VBA) VBA — относительно легкий язык программирования. Он прост в освоении и позволяет быстро получать ощутимые результаты.создание многих приложений с использованием VBA проще и быстрее, чем при помощи других языков программирования. VBA применяет технологию визуального программирования, т. е. конструирование рабочей поверхности приложения и элементов его управления непосредственно на экране. Объекты и их семейства Объект позволяет объединить данные в нечто целое, именуемое объектом. VBA не является объектно-ориентированном языком, однако объектный подход играет в нем большую роль. Все визуальные объекты, такие как рабочий лист (worksheet), диапазон (Range), диаграмма (Chart), форма (userForm), являются объектами. В VBA имеется более 100 встроенных объектов. Семейство представляет собой объект, содержащий несколько других объектов, как правило, одного и того же типа. Например, объект workbooks (рабочие книги) содержит все открытые объекты Workbook (рабочая книга). Каждый элемент семейства нумеруется и может быть идентифицирован либо по номеру, либо по имени. В VBA используется механизм OLE (ObjectLinkingandEmbedding — связывание и внедрение объектов), который позволяет взаимодействовать с любыми программами, поддерживающими OLE. С 1996 года фирма Microsoft ввела новую терминологию и теперь то, что раньше именовалось OLE-объект, называется объектом ActiveX, a OLE Automation называется ActiveXAutomation. классы Класс обычно описывается, как проект, на основе которого впоследствии будет создан конкретный объект. Таким образом, класс определяет имя объекта, его свойства и действия, выполняемые над объектом. В свою очередь каждый объект, в соответствии с описанным выше, является экземпляром класса. Объектная библиотека VBA располагает более 100 различных объектов, находящихся на различных уровнях иерархии. Иерархия определяет связь между объектами и показывает пути доступа к ним. Свойства Свойство представляет собой атрибут объекта, определяющий его характеристики, такие как размер, цвет, положение на экране и состояние объекта, например, доступность или видимость. Чтобы изменить характеристики объекта, надо просто изменить значения его свойств.
Основные понятия объектно – ориентированного программирования В основе объектно-ориентированного программирования управляемого событиями лежат понятия класс, инкапсуляция, объект, наследование, полиморфизм, событие и сообщение [].В качестве объектов могут рассматриваться конкретные предметы, а также абстрактные или реальные сущности. Например, объектами могут быть покупатель, фирма, производящая товары, банк, заказ на поставку и др.В частном случае, в VBA объектом являются элементы пользовательского интерфейса, которые создаются на Форме пользователя (UserForm) или на рабочем листе, а также рабочая книга и ее элементы.Объект является комбинацией состояния и поведения. Состояние описывается переменными экземпляра, а его возможное поведение характеризуется присущими ему методами.Каждый объект является представителем некоторого класса однотипных объектов, т.е. объект является экземпляром класса. Класс определяет общие для всех его объектов методы и свойства. Методы - это программные процедуры, реализующие некоторый алгоритм, который определяет взаимодействие объектов класса с внешней средой. Свойства представляют собой характеристики (атрибуты), присущие объектам (например, размер шрифта, название и др.). Инкапсуляция - это скрытие информации. При объектно-ориентированном программировании возможен доступ к объекту только через его методы и свойства. Внутренняя структура объекта скрыта от пользователя, т.е. объекты - это самостоятельные сущности, отделенные от внешнего мира. Инкапсуляция позволяет изменять реализацию объектов любого класса без опасений, что это вызовет нежелательные побочные эффекты в программной системе. Это мощное средство обеспечивает многократное использование одного и того же программного кода, позволяя собирать программу из готовых модулей, как здание из отдельных кирпичиков, но различной архитектуры и функционального назначения.Наследование - это возможность выделить свойства, методы и события одного объекта и приписать их другому объекту, иногда с их модификацией. С точки зрения программиста, новый класс должен содержать только коды и данные для новых или изменяющихся методов. Полиморфизм - это способность объектов выбирать операцию на основе данных, принимаемых в сообщении. Каждый объект может реагировать по-своему на одно и тоже сообщение. Например, команда Print будет по-разному воспринята черно-белым или цветным принтером.В заключение следует сказать, что ООП это новая технология программирования, позволившая перейти к индустриальным методам разработки программного обеспечения. 1.2 Общие сведения о VBA Существует целый ряд систем программирования, позволяющих в той или иной степени реализовать концепцию объектно – ориентированного подхода при разработке программных средств. Наиболее полные возможности имеют такие системы, как Си ++, Java, VisualBasic. В отличие от VisualBasic, VBA не является языком объектно–ориентированного программирования (ООП) в строгом смысле этого слова., тем не менее, в нем очень широко используется элементы объектно – ориентированного программирования и связанные с ним понятия. VBA положен в основу системы программирования VisualBasic. Корпорация Microsoft использует возможности VBA при разработке приложений Windows, осуществляя параллельное с разработкой тестирование приложений с помощью макроязыка.Система программирования VisualBasicforApplication (VisualBasic для приложений - VBA) занимает важное место в стратегии программных продуктов фирмы Microsoft. Другим подмножеством VBA является язык описания сценариев VBScript. Его основным назначением является создание интерактивных Web –страниц.Таким образом, изучив программирование в среде VBA, вы без больших усилий можете освоить программирование на VisualBasic или VBScript.Так что же такое VBA?VisualBasicforApplication - это подмножество VisualBasic (VB), которое включает почти все его средства создания приложений, структуры данных и управляющие структуры, возможность создания пользовательских типов данных. VBA, как и VB, является языком визуального и событийно управляемого программирования — в нем есть возможность создания форм со стандартным набором элементов управления и написания процедур, обрабатывающих события, которые возникают при тех или иных действиях системы и конечного пользователя. Кроме того, он позволяет применять элементы ActiveX. В общем, это полноценный язык программирования, хотя и не обладающий всеми возможностями последних версий VisualBasic. С другой стороны, VBA позволяет работать с огромным набором объектов - по существу, в нем определены все объекты приложений MS Office. Отметим одну, может быть главную, особенность программирования на VBA. Программист, создавая проект на каком-либо языке программирования, работает в соответствующей среде, где язык — главное средство, а создание кода — главная цель действия программиста. А при работе на VBA целью является создание документа в широком смысле (документа Word, рабочей книги Excel, презентации и т. д.). Проект на VBA-результат побочной деятельности по созданию документа. Более того, проект на VBA, независимо от какого-либо документа, создать нельзя, даже если никакие свойства этого документа не используются.Приступая к очередному сеансу работы, программист открывает одно из приложений MS Office, и в этот момент в языке VBA автоматически становится доступным объект Application, определяющий это приложение, а также все встроенные в него объекты. Можно определить и создать, объект Application для любого приложения MS Office, получив тем самым доступ ко всем его объектам.Итак, VBA отличается от VisualBasic и прочих языков программирования тем, что он предоставляет возможность непосредственной работы с объектами MS Office. Это позволяет эффективно использовать его для автоматизации деятельности, связанной с обработкой различных типов документов. Обычные средства VBA, унаследованные от VisualBasic, - важная, но не определяющая часть языка.VBA позволяет существенно расширить вычислительные возможности Excel. С помощью VBA можно легко и быстро создавать различные приложения, даже не являясь специалистом в области программирования. VBA имеет графическую инструментальную среду, позволяющую создавать экранные формы и управляющие элементы. С его помощью можно создавать свои собственные функции для Excel, вызываемые мастером функций, разрабатывать макросы, создавать собственные меню и многое другое. VBA придает документам элегантность и позволяет с легкостью решать многие задачи, о возможности выполнения которых средствами Excel можно только мечтать. Как и VisualBasic, VBA реализует концепцию визуального программирования, управляемого событиями.
|