 
        
        - •1. Объектно-ориентированное программирование (oop). Объектно-ориентированная технология (oot) программирования.
- •2. Свойства оор.
- •3. Объектно-ориентированный подход (ооп). Определение составляющих объектного подхода: ооа, ood, оор.
- •4. Компоненты оор.
- •5. Объект. Основные понятия: определение объекта, его состояние, поведение, индивидуальность. Взаимодействие объектов. Отношения между объектами.
- •6. Класс. Отношения между классами. Классификация. Методы классификации.
- •7. Вопросы качества абстракция и выбора операций при создании классов и объектов.
- •9. Ссылки и параметры-ссылки. Объявления переменных.
- •10. Встраиваемые функции. Операции new и delete.
- •11. Функции-члены и данные-члены.
- •12. Интерфейсы и реализация.
- •13. Конструкторы и инициализация. Конструктор без параметров (по умолчанию). Конструктор копирования.
- •14. Деструкторы и очистка.
- •Статические члены: функции и данные.
- •16. Структуры и объединения.
- •17. Константные члены-функции и константные объекты.
- •18. Дружественные функции и перегрузка операций.
- •19. Перегрузка new, delete.
- •Void *operator new (size_f size);
- •Void operator delete (void *); //void * - указатель на область памяти, //выделяемую под объект
- •20. Преобразование типов, определяемых пользователем с помощью конструкторов и операций преобразования.
- •22. Друзья-функции и друзья-классы
- •24. Производные классы. Базы прямые, непрямые
- •25. Конструкторы, деструкторы и наследование
- •26. Множественное наследование
- •27. Виртуальные базовые классы. Иерархия классов. Виртуальные функции
- •Virtual void draw();
- •Void draw();
- •28. Полиморфизм
- •29. Абстрактные классы и чистые виртуальные функции.
- •30. Заголовочные файлы. Предопределенные объекты и потоки.
- •31. Операции помещения и извлечения. Манипуляторы
- •Int main()
- •33. Конструкторы файловых потоков. Ввод-вывод в файлы.
- •34 Параметризированные типы и функции
- •35 Шаблоны функций. Параметры шаблонов. Шаблоны классов
- •36. Контейнеры. Итераторы
- •37. Использование assert, кодов возврата, сигналов, setjmp и longjmp.
- •38. Объектно-ориентированная обработка исключений. Применение try, catch, throw.
ООП
1. Объектно-ориентированное программирование (oop). Объектно-ориентированная технология (oot) программирования.
Технология программирования – совокупность методов и средств разработки программ и порядок применения этих методов и средств.
Концепция ООП подразумевает, что основой управления процессом реализации программы является передача сообщений объектам. Поэтому объекты определяются совместно с сообщениями, на которые они должны реагировать при выполнении программы. Это главное отличие ОО программирования от процедурного программирования, где отдельные определенные структуры данных передаются процедуре или функции в качестве параметров. Т.обр., ОО программа состоит из объектов (отдельных фрагментов кода, обрабатывающих данные), которые взаимодействуют друг с другом через определенные интерфейсы.
2. Свойства оор.
ОО язык программирования должен обладать след св-вами:
- абстракция – это формальное представление о качествах или свойствах предмета путем удаления некоторых частностей; 
- инкапсуляция – механизм, связывающий код и данные вместе (объединение полей и методом объекта и образование самого объекта); 
- наследование – процесс, с помощью которого один объект приобретает свойства другого, т.е. поддерживается иерархическая классификация; 
- полиморфизм – свойство, позволяющее использовать один и тот же интерфейс для общего класса действий. 
Преимущества ОО подхода:
- Возможность использования выразительных средств ОО языков; 
- Повышение качества разработки в целом – результат более компактной системы; 
- Системы строятся на основе стабильных промежуточных описаний, следовательно, имеют возможность развития; 
- Четко продуманные этапы проектирования, что уменьшает степень риска проектирования; 
- ОО подход ориентирован на естественное восприятие мира; 
- Получение моделей, близких к предметной области. 
3. Объектно-ориентированный подход (ооп). Определение составляющих объектного подхода: ооа, ood, оор.
Разработка ОО программы состоит из след последовательных работ:
- определение основных объектов, необходимых для решения данной задачи; 
- определение данных состояний для выбранных объектов; 
- определение иерархической системы классов, представляющих выбранные объекты; 
- определение ключевых сообщений, которые должны обрабатывать объекты; 
- разработка последовательности выполнения, позволяющей решать задачу; 
- разработка методов, обрабатывающих каждое сообщение; 
- кодирование, отладка, компоновка и компилирование. 
Основная цель ОО подхода – обеспечить повышение эффективности разработки программ. Появления ОО подхода связано со след событиями:
- прогресс в области вычислительной техники, в большей части – в архитектуре;
- развитие языков программирования (появилось понятие классификации языков);
- на основе языка Pascal возникли Object Pascal и Ada;
- развитие методов программирования, включая принципы модульности и защиты информации;
- развитие баз данных;
- исследования в области искусственного интеллекта;
- достижения в области познания и философии.
Объектный подход (OOP) является концептуальной основой OOD (проектирование), который используют в качестве методов ООА (анализ), а в качестве инструмента – ООР (программирование).
OOD (объектно-ориентированное проектирование) – это метод проектирования, соединяющий в себе проектирование объектной декомпозиции и приемы различных представлений предметной области (логическая и физическая модель, статическая и динамическая модель).
ООА (объектно-ориентированный анализ) направлен на создание моделей, более близких к реальности, с использованием объектных абстракций, которые составляют словарь предметной области.
