Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП 1-3 лекции.docx
Скачиваний:
5
Добавлен:
18.11.2019
Размер:
55.63 Кб
Скачать

Часть II Объектно-ориентированное проектирование Конспект лекций

План:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6. Уровни видимости 4

7. Методы класса 5

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

1. Объявление методов класса 1

2. Реализация класса: общие положения 2

3. Определение конструкторов: примеры 3

4. Определение методов класса 3

5. Использование класса 4

6. Примеры использования класса 5

1. Перегрузка функций 1

2. Перегрузка операций 1

3. Выбор функции 2

4. Друзья класса 3

5. Друзья или члены 5

6. Преобразования типа 6

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

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

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

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

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

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

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

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

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

Пример:

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

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

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

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

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

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

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