Основные понятия и определения
Объектно-ориентированный подход
Цель курса
Литература
1. Б.Страуструп. Язык программирования С++, 2-е изд./Пер. с англ. Часть первая. – Киев.: “ДиаСофт”, 1993. – 264 с. Часть вторая. – Киев.: “ДиаСофт”, 1993. – 296 с.
2. М.Эллис, Б.Страуструп. Справочное руководство по языку программирования С++ с комментариями./Пер. с англ. – М.: Мир, 1992.
3. Бабз Б. Просто и ясно о Borland C++./Пер. с англ. – М.: Бином, 1995. - 400 с.
4. Дьюхарст С., Старк К. Программирование на С++/Пер. с англ. – Киев, ДиаСофт, 1993. – 272 с.
5. Романов В.Ю. Программирование на языке С++: Практический подход. – М.: Компьютер, 1993. – 160 с.
6. С++. Язык программирования. – М.: ИВК СОФТ, 1991. – 315 с.
7. Г.Шилдт. Самоучитель С++, 3-е изд./Пер. с англ. – СПб.: БХВ-Петербург, 2001. – 688 с.
8. Б.Страуструп. Язык программирования С++, 3-е изд./Пер. с англ. – СПб.: М.: «Невский Диалект» – «Издательство БИНОМ», 1999. – 991 с., ил.
9. Том Сван. Программирование для Windows в Borland C++./Пер. с англ. – М.: БИНОМ, 1995. – 480 с. (Только особенности программирования в среде Windows, использование библиотеки OWL. Предполагает знание уже C++).
10. Г.Шилдт. Теория и практика С++ (серия Мастер, руководство для профессионалов). /Пер. с англ. – СПб.:BHV – Санкт-Петербург, 1996. – 416 с.
11. Г.Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на С++, 2-е изд./Пер. с англ. – М.: «Издательство Бином», СПб.: «Невский диалект», 1999 г. – 560 с., ил.
Цель курса – освоение принципов объектно-ориентированного проектирования и методов объектно-ориентированного программирования с использованием языка С++.
“…Если на компьютере установлена ОС Windows – в курсе рассматриваются примеры программ, которые не предназначены специально для работы в этой ОС. Причина: программы для Windows по самой своей сути большие и сложные. При написании каждой такой программы для демонстрации возможностей языка С++ потребовалось бы написать тысячи строк исходного кода. Конечно, программирование на С++ под Windows позволяет пользоваться библиотеками классов, что существенно упрощает разработку приложений. Кроме этого, интерфейс любого приложения под Windows достаточно просто создать с помощью таких средств визуального программирования, как Visual C++ 5 или Borland C++ 5. Сердцевиной же любого профессионального приложения является программная реализация его идеи, а отнюдь не интерфейс, пусть даже самый что ни на есть дружественный” [7, стр. 6-7]. Поэтому будем рассматривать в курсе не создание пользовательского интерфейса в стиле Windows, а собственно язык программирования С++.
Объектно-ориентированный подход: основные понятия, определения, характеристики ООП. Два этапа в разработке ПО – создание инструментального средства (фактически новый язык) и непосредственная разработка ПО.
Основные понятия в ООП – объект и сообщение. Объект моделирует сущность реального мира или некоторое абстрактное понятие, сообщение определяет способы взаимодействия объектов. Программа в свете ООП – совокупность объектов, определенным образом взаимодействующих между собой.
Объекты характеризуются: состоянием (статические свойства объекта и их текущие значения); поведением (как объект проявляет себя во внешнем мире; определяется совокупностью методов, обеспечивающих передачу сообщений между объектами); индивидуальностью.
Сообщение определяется своим именем и всегда имеет адресата – кому оно адресовано. Кроме того, сообщение может иметь дополнительные аргументы, передаваемые адресату.
Пример:
Объект – множество (математическое понятие). Множество определяется мощностью (количеством разных элементов) и значениями элементов множества – это и есть состояние объекта. Создавая конкретные множества, мы создаем индивидуальные экземпляры данных (свойство индивидуальности), каждый из которых имеет собственные (возможно, и одинаковые) значения.
Поведение объекта определяется составом операций, которые можно выполнять над любым экземпляром множества: включить новый элемент в множество, вывести значения всех элементов множества, определить новое множество, являющееся пересечением двух множеств и т.п. Чтобы выполнить какую-либо операцию с некоторым экземпляром множества, надо послать этому экземпляру сообщение. При этом всегда выделяются: адресат сообщения (экземпляр множества, которому посылается некоторое сообщение); имя сообщения (какое именно действие должно быть выполнено); возможно, дополнительные параметры (в зависимости от конкретного сообщения).
Пример:
Рассмотрим тот же объект множество. Пусть aSet – конкретный экземпляр множества. Тогда посылку сообщений данному экземпляру можно проиллюстрировать следующим образом (рис. 1):
Рис. 1-1. Объекты – адресаты и сообщения
Можно ввести следующие определения (используя и терминологию языка С++):
Объект – инкапсулированная абстракция, которая включает в себя информацию о состоянии и четко определенное множество протокола доступа (поведение).
Класс – множество объектов, объединенных общностью структуры и поведения.