Изучение дисциплины следует начать с ознакомлением с рабочей программой, изложенной в приложении 1.
Рабочая программа состоит из трех разделов. В разделе 1 «Методы и этапы технологии программирования» дается обзор эволюции и этапы технологии программирования, основные методы объектно-ориентированного программирования (инкапсуляция, наследование, полиморфизм), объектно - ориентированный подход к проектированию и разработке программ.
Раздел 2 «Объектно-ориентированные методы программирования в Windows» посвящен программированию в среде Windows: созданию Windows-приложений, вводу - выводу информации, программированию интерфейса приложений, файловой обработке.
В разделе 3 «Перспективные направления в области создания технологий программирования» изучаются прогрессивные методы информатики и программирования: технология составных документов ActiveX и технология COM, технологии поддержки баз данных ODBC, DAO, программирование для Internet.
Примеры реализованы в среде Microsoft Visual Studio 2005 на языке Visual C++.
Приведем некоторые пояснения к тема программы.
В 1-ом разделе программы рассматриваются следующие методы программирования: традиционный метод процедурного программирования (ПП) и метод объектно-ориентированного программирования (ООП). Метод ООП основывается на модели построения программы как иерархии классов. Основными методами ООП являются средства инкапсуляции, наследования, полиморфизма.
Инкапсуляция (encapsulation) - это объединение данных и функций для работы с этими данными в абстрактные типы данных - классы. Инкапсуляция даёт сокрытие элементов-данных (data members) и элементов-функций (members functions) в классе с управлением доступа к ним. Переменные типа класс называются объектами (object). Состояние объекта определяется элементами-данными соответствующего класса. Поведение объекта определяется элементами- функциями соответствующего класса.
Наследование (inheritance) - это порождение новых абстрактных типов данных (производных классов) на основе существующих абстрактных типов данных (базовых классов), причём производный класс наследует данные и функции базового класса, а также имеет собственные данные и функции. Наследование позволяет исключить множество типов данных, определяемых пользователем, и множество функций для их обработки за счет выделения одинаковых элементов из классов и помещения их в базовый класс с целью повторного их использования через механизм наследования.
Полиморфизм имеет следующие методы программирования:
- общий полиморфизм (перегрузка операций, преобразование типов, перегрузка функций);
- параметрический полиморфизм (шаблоны функций и классов).
Перегрузка операций - это переопределение действий операций применительно к объектам конкретных классов. Преобразование типов данных при совместном их использовании тоже является одним из методов полиморфизма. Перегрузка функции - это использование одинакового имени для функций, выполняющих действия над различными типами данных.
Виртуальная функция - это элемент-функция базового класса в иерархии наследования, переопределенная в производных классах и вызываемая в зависимости от класса через указатель или ссылку на базовый класс.
Параметрический полиморфизм - это механизм использования обобщенного определения функции или класса (шаблона) для автоматической генерации новых функций или классов для различных типов данных.
Объектно-ориентированное программирование принципиально отличается от процедурного программирования. Процедурное программирование основывается на алгоритмах, т.е. на функциях обработки задачи. При этом структуры данных не учитываются, как части организации программы. Объектно-ориентированное программирование основывается на понятиях прикладной области, являющихся классами. Программы строятся как иерархия классов. Изучается объектно-ориентированное проектирование программ.
2-ой раздел программы посвящен программированию в Windows на объектно-ориентированном языке Microsoft Visual C++: созданию Windows-приложений, вводу/выводу информации, программированию интерфейса приложений, файловой обработке. Эффективность и более высокий уровень создания Windows-приложений на Visual C++ достигается наличием в составе языка специальных средств программирования, к которым относятся:
- библиотека классов Microsoft Foundation Classes (MFC) со стандартными задачами для Windows - программирования;
- генератор приложений AppWizard с набором разнообразных мастер-блоков Wizard для генерации программных кодов различных типов приложений Windows;
- интегрированная среда разработки Visual Studio, выполняющая операции с файлами и проектами.
В разделе 3 изучаются прогрессивные методы информатики и программирования.
Технология ActiveX – это совокупность методов, осуществляющих обмен данными между приложениями, позволяющих приложению объединять данные документов других приложений. Раньше эта технология носила название OLE (Object Linking and Embedding – связывание и внедрение объектов). “Технология ActiveX – это будущее операционной системы Windows, а также с точки зрения Microsoft, будущее всей отрасли разработки программного обеспечения”. Преимущество ActiveX заключается в следующем: возможен обмен данными в любом формате между любыми приложениями; не требуется ручного редактирования данных в принимающем приложении, так как исходное приложение автоматически запускает редактор.
Основными методами ActiveX являются связывание объекта (E Embedding), внедрение объекта (L Linking) и автоматизация. Связывание объекта означает соединение одного документа с другим, т.е. создание документа из частей других приложений. Связывание применяется, если необходимо использовать связываемый объект во многих документах. При этом объем документов практически не изменяется. Внедрение объекта означает внедрение одного документа в другой, т.е. создание составных документов. Доступ к элементам составного документа осуществляется в приложении, в котором он был создан. Внедрение применяется, если необходимо для дальнейшего использования иметь единый составной документ. Приложение приемника данных, поддерживающее внедрение или связывание объектов, называется контейнером ActiveX. Приложение источника данных, обеспечивающее редактирование объектов, связанных или внедренных в документ другого приложения, называется сервером ActiveX. Объект (O Object) – это блок данных, передаваемый из сервера в контейнер.
В Visual C++ имеются технологии доступа к данным, обеспечивающие создание приложений для работы с базами данных. Большинство технологий доступа базируются на двух ключевых технологиях: ODBC (Open Database Connectivity – открытая связь с базами данных) и DAO (Data Access Object – объекты доступа к данным).
Сравнительные параметры технологий ODBC и DAO могут быть представлены следующим образом:
Параметр
ODBC
DAO
Архитектура
Набор DLL-модулей,драйверы
Набор объектов OLE
Источники данных
Файлы БД любых форматов
, а также SQL Server и Oracle
Файлы БД формата .mdb,
Access, FoxPro, Paradox
Соединение с базой данных
Объект класса Cdatabase
Объект класса CDaoDatabase
Выборка данных
Объект класса Crecordset
Объект класса CDaoRecordset
Просмотр данных
Объект класса CrecordView
Объект класса CDaoRecordView
Набор функций
Меньший набор функций, чем
в DAO
Большой набор функций,
нет аналогов в ODBC
Visual C++ обладает технологиями, облегчающими разработку приложений для работы в Internet, значительно расширяющими возможности приложений. К ним относятся Winsock (Windows Socket), MAPI (Messaging Application Programming Interface), WinInet (Windows Internet), ISAPI (Internet Server API), ActiveX для Web.
Наиболее популярной технологией программирования для Internet является технология WinInet (Windows Internet). В библиотеке классов MFC Visual C++ имеются классы WinInet, облегчающие написание клиентских приложений и освобождающие от использования WinSock.