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

Лекция 1.

План:

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

2. Процесс разработки ПП

3. Пример ООПр (объектно-ориентированного проектирования)

4. Определение объектно-ориентированного языка программирования (ООЯП)

5. Разработка класса в ООП.

6. Определение класса в С++

7. Уровни видимости

8. Методы класса

9. Конструкторы и деструктор

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

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

Объект определяется:

· состоянием - статические свойства объекта и их текущие (динамические) значения;

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

· индивидуальностью - уникальные свойства объекта, отличающие его от всех других объектов.

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

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

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

Пример:

Объект - множество (математическое понятие). Множество определяется мощностью (количеством разных элементов) и значениями элементов множества - это и есть состояние объекта. Создавая конкретные множества, мы создаем индивидуальные экземпляры данных, каждый из которых имеет собственные (возможно, и одинаковые) значения. Но каждый экземпляр множества не будет в себе иметь одинаковые значения!

Поведение объекта определяется составом операций, которые можно выполнять над любым экземпляром множества: включить новый элемент в множество; вывести значения всех элементов множества; определить новое множество, являющееся пересечением двух множеств; и т.п. Чтобы выполнить какую-либо операцию с некоторым экземпляром множества, надо послать этому экземпляру сообщение.

Например: пусть aSet - конкретный экземпляр множества.

адресат сообщение дополнительные параметры

aSet Включи в себя значение

адресат сообщение дополнительные параметры

aSet Покажи себя отсутствуют