- •Часть II Объектно-ориентированное проектирование Конспект лекций
- •Процесс разработки пп
- •Пример ооПр (объектно-ориентированного проектирования)
- •Определение объектно-ориентированного языка программирования (оояп)
- •Разработка класса в ооп.
- •Уровни видимости
- •Методы класса
- •Конструкторы и деструктор
- •Объявление методов класса
- •Реализация класса: общие положения
- •Определение конструкторов: примеры
- •Определение методов класса
- •Использование класса
- •Примеры использования класса
- •Перегрузка функций
- •Перегрузка операций
- •Выбор функции
- •Друзья класса
- •Друзья или члены
- •Преобразования типа
Часть 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 Покажи себя отсутствуют