Объектно-ориентированный подход
Лекция 1.
План:
1. Объектно-ориентированный подход
2. Процесс разработки ПП
3. Пример ООПр (объектно-ориентированного проектирования)
4. Определение объектно-ориентированного языка программирования (ООЯП)
5. Разработка класса в ООП.
6. Определение класса в С++
7. Уровни видимости
8. Методы класса
9. Конструкторы и деструктор
Объектно-ориентированное проектирование: подразумевает иной подход к процессу декомпозиции при создании программного продукта (ПП). Два этапа в разработке ПП - создание инструментального средства (фактически новые возможности по представлению и обработке данных - новые типы данных - в существующем языке, максимально ориентированные на предметную область создаваемого ПП) и непосредственная разработка ПП.
Основные понятия в ООП - объект и сообщение. Объект моделирует сущность реального мира или некоторое абстрактное понятие, сообщение определяет способы взаимодействия объектов. Программа в свете ООП - совокупность объектов, определенным образом взаимодействующих между собой. Отсюда, основная концепция объектно-ориентированной методологии состоит в передаче сообщений объектам. Для этого необходимо, чтобы объекты определялись вместе с сообщениями, на которые они будут реагировать.
Объект определяется:
· состоянием - статические свойства объекта и их текущие (динамические) значения;
· поведением - как объект проявляет себя во внешнем мире, т.е. как он воздействует на другие объекты или подвергается воздействию со стороны других объектов с точки зрения изменения состояния этих объектов и передачи сообщений; определяется совокупностью методов, обеспечивающих передачу сообщений между объектами; в терминах программирования метод - это вызов функции;
· индивидуальностью - уникальные свойства объекта, отличающие его от всех других объектов.
Выполнение операций состоит в посылке сообщений. Код, предоставляемый объектом для реализации сообщения, называют методом. Посылка сообщений требует указания адресата и имени посылаемого сообщения, а также (не обязательно) задания параметров. Сообщение может возвращать что-либо отправителю сообщения.
Сообщения могут быть приняты или отвергнуты объектом-адресатом. Объект принимает те сообщения, которые распознает, а остальные игнорирует, поэтому внешний по отношению к объекту код не может непредсказуемым или нежелательным способом повлиять на функционирование данного объекта.
Объект - инкапсулированная абстракция, которая включает в себя информацию о состоянии и четко определенное множество протокола доступа (поведение).
Пример:
Объект - множество (математическое понятие). Множество определяется мощностью (количеством разных элементов) и значениями элементов множества - это и есть состояние объекта. Создавая конкретные множества, мы создаем индивидуальные экземпляры данных, каждый из которых имеет собственные (возможно, и одинаковые) значения. Но каждый экземпляр множества не будет в себе иметь одинаковые значения!
Поведение объекта определяется составом операций, которые можно выполнять над любым экземпляром множества: включить новый элемент в множество; вывести значения всех элементов множества; определить новое множество, являющееся пересечением двух множеств; и т.п. Чтобы выполнить какую-либо операцию с некоторым экземпляром множества, надо послать этому экземпляру сообщение.
Например: пусть aSet - конкретный экземпляр множества.
адресат сообщение дополнительные параметры
aSet Включи в себя значение
адресат сообщение дополнительные параметры
aSet Покажи себя отсутствуют