Основные понятия и определения

Объектно-ориентированный подход

Цель курса

Литература

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. Объекты – адресаты и сообщения

Можно ввести следующие определения (используя и терминологию языка С++):

Объект – инкапсулированная абстракция, которая включает в себя информацию о состоянии и четко определенное множество протокола доступа (поведение).

Класс – множество объектов, объединенных общностью структуры и поведения.