Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
25 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
578.50 kB
Просмотров:
81
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![Объектно-ориентированное](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img0.jpg)
Содержание слайда: Объектно-ориентированное программирование на С++
Спецкурс для студентов отделения «Прикладная математика и информатика»
№2 слайд![Вводная лекция ПОП и ООП](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img1.jpg)
Содержание слайда: Вводная лекция
ПОП и ООП
Концепция ООП, понятие программы
Роль языка программирования
Принципы ООП
Сравнение ООП и ПОП
№3 слайд![Литература Буч Г.](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img2.jpg)
Содержание слайда: Литература
Буч Г. Объектно-ориентированное проектирование с примерами применения. – М.:Конкорд, 1992.–519 с.
Страуструп Б. Язык программирования С++, 3-е изд. – СПб.; М.: “Невский Диалект” – “Издательство БИНОМ”, 1999. – 991 с. http://www.awl.com/cp/stroustrup3e
№4 слайд![Дополнительная литература](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img3.jpg)
Содержание слайда: Дополнительная литература
Шилд Г. Теория и практика С++. – СПб.: BVH-Санкт-Петербург, 1996. – 416 с.
Элджер Дж. С++: библиотека программиста. – СПб.: Питер, 2000. – 320 с.
Пол А. Объектно-ориентированное программирование на С++. – СПб.; М.: “Невский Диалект” – “Издательство БИНОМ”, 1999. – 462 с.
Бабэ Б. Просто и ясно о Borland C++. – М.:БИНОМ, 1996. – 416 с.
Сван Т. Освоение Borland C++5. – К.: Диалектика, 1996. – 576 с.
№5 слайд![ПОП и ООП ПОП](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img4.jpg)
Содержание слайда: ПОП и ООП
ПОП – процедурно-ориентированное программирование – это программирование задач обработки данных (алгоритмически детерминированы), основанное на составлении и реализации алгоритма решения задачи.
Программа – алгоритм, записанный на языке программирования в виде набора процедур (процедурные абстракции)
В основе ПОП лежит декомпозиция действия (алгоритмическая декомпозиция)
Структурное и модульное программирование
№6 слайд![Концепция ООП ООП это](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img5.jpg)
Содержание слайда: Концепция ООП
ООП – это программирование задач имитационного моделирования (алгоритмически не заданных), основанное на формировании (конструировании и реализации) языка предметной области.
Язык (словарь) предметной области: сущности и действия с ними (типы данных и операции).
формирование абстракции понятий
формирование иерархии понятий
реализация понятий
использование понятий
модификация понятий
Примеры. 1) Арифметика; 2) Строки и файлы в С
№7 слайд![Определение ООП](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img6.jpg)
Содержание слайда: Определение ООП
Объектно-ориентированное программирование – это методология программирования, которая основана на представлении программы в виде совокупности объектов, каждый из которых является реализацией некоторого класса, а классы образуют иерархию, основанную на принципах наследования [Г.Буч].
№8 слайд![ООП и язык](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img7.jpg)
Содержание слайда: ООП и язык
Объектно-ориентированный язык – это язык программирования, который не позволяет отступать от принципов ООП при написании программ (например, Smalltalk).
Язык, поддерживающий ООП – это язык программирования, который имеет все необходимые средства поддержки ООП, но не препятствует ПОП (например, С++).
№9 слайд![Принципы ООП Абстрагирование](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img8.jpg)
Содержание слайда: Принципы ООП
Абстрагирование
Инкапсуляция
Модульность
Иерархия
-------------------------
Типизация и полиморфизм
Параллелизм
Устойчивость
№10 слайд![Принцип абстрагирования](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img9.jpg)
Содержание слайда: Принцип абстрагирования
Абстрагирование – один из главных способов решения сложных задач
Абстракция – это такие существенные характеристики некоторого объекта, которые отличают его от всех других видов объектов и четко определяют особенности данного объекта с точки зрения дальнейшего рассмотрения и анализа.
Абстрагирование концентрирует внимание на внешних особенностях объекта и позволяет отделить самые существенные особенности поведения от деталей их осуществления (барьер абстракции).
№11 слайд![Формирование абстракции](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img10.jpg)
Содержание слайда: Формирование абстракции
№12 слайд![Абстракция определяет](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img11.jpg)
Содержание слайда: Абстракция определяет
интерфейс класса
Формируя абстракцию, мы сосредотачиваем внимание на существенных с нашей точки зрения характеристиках объекта
Абстракция должна охватывать лишь самую суть объекта, не больше, но и не меньше
Абстракция объекта определяется через протокол – набор определяющих операций
Абстракция объекта не должна зависеть от его внутреннего устройства (свойств)
Примеры. 1) Арифметика; 2) Строки и файлы в С
№13 слайд![Принцип инкапсуляции Никакая](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img12.jpg)
Содержание слайда: Принцип инкапсуляции
Никакая часть не должна находиться в зависимости от деталей внутреннего устройства других частей
Инкапсуляция определяет явные барьеры между различными абстракциями, скрывает внутреннее устройство объекта и не позволяет объектам-пользователям различить (и использовать) особенности его внутреннего устройства.
Абстракция и инкапсуляция дополняют друг друга
Абстракция определяет интерфейс объектов класса
Инкапсуляция определяет реализацию объектов класса
Примеры. 1) Арифметика; 2) Строки и файлы в С
№14 слайд![Скрытие данных](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img13.jpg)
Содержание слайда: Скрытие данных
№15 слайд![Принцип модульности](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img14.jpg)
Содержание слайда: Принцип модульности
Модульность, как самостоятельная концепция – это локализация частей программы и ее разделение на раздельно компилируемые фрагменты, имеющие средства взаимосвязи
Модульная декомпозиция
логическая локализация действия (функции), абстракции данных (класс), и имен (пространства имен)
физическая локализация и раздельная компиляция (файлы)
разделение интерфейса (.h-файлы) и реализации (.cpp-файлы) и их связь (#include)
Модульное агрегирование
файлы выполняют роль физических контейнеров, в которые помещаются определения классов и объектов
деление программы на модули бессистемным образом гораздо хуже, чем отсутствие модульности вообще
влияние на производительность системы (страничный свопинг)
№16 слайд![Модульность декомпозиция и](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img15.jpg)
Содержание слайда: Модульность: декомпозиция и агрегирование
№17 слайд![Принцип иерархии Иерархия это](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img16.jpg)
Содержание слайда: Принцип иерархии
Иерархия – это ранжированная или упорядоченная система абстракций
Число абстракций в реальных системах велико => для преодоления сложности программы абстракции следует структурировать (иерархия по составу – отношение использования)
Многие абстракции отражают родственные понятия предметной области => для сокращения описания абстракций их следует структурировать (иерархия по номенклатуре)
Наследование – отношение между классами, когда один класс использует строение одного (простое наследование) или нескольких (множественное наследование) других классов. Это основной вид иерархии по номенклатуре. Наследование – такая иерархия абстракций, в которой подклассы (производные классы) наследуют строение от одного или нескольких суперклассов (базовых классов).
№18 слайд![Иерархия](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img17.jpg)
Содержание слайда: Иерархия
№19 слайд![Принцип типизации и](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img18.jpg)
Содержание слайда: Принцип типизации и полиморфизма
Типизация – это ограничение, накладываемое на класс объектов и препятствующее взаимозамене объектов различных классов (или сильно сужающее возможность такой взаимозамены)
Полиморфизм – важнейшая концепция ООП – свойство, позволяющее единообразно оперировать с объектами разных типов, учитывая их различия
Связь типизации и полиморфизма
Контроль соответствия типов
на этапе компиляции (раннее или статическое связывание)
на этапе выполнения (позднее или динамическое связывание) программы.
№20 слайд![Типизация](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img19.jpg)
Содержание слайда: Типизация
№21 слайд![Принцип параллелизма](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img20.jpg)
Содержание слайда: Принцип параллелизма
Параллелизм – свойство объектов находиться в активном, либо пассивном состоянии.
Для многопроцессорных архитектур объект может представлять собой отдельный канал управления (абстракцию процесса), что упрощает решение вопросов параллелизма (тупики, блокировки и т.п.)
Для однопроцессорных архитектур реализуется в минимальном виде
Пример – многооконный интерфейс Windows.
№22 слайд![Параллелизм](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img21.jpg)
Содержание слайда: Параллелизм
№23 слайд![Принцип устойчивости](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img22.jpg)
Содержание слайда: Принцип устойчивости
Устойчивость – свойство объектов сохранять свое состояние и принадлежность к определенному классу.
Устойчивость в пространстве и времени
устойчивость в адресном пространства
анонимные объекты (промежуточные результаты)
локальные объекты
устойчивость относительно породившего процесса
устойчивость относительно выполнения программы
устойчивость относительно эксплуатации программы
Корректность объектов
Инвариант представления
№24 слайд![Устойчивость](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img23.jpg)
Содержание слайда: Устойчивость
№25 слайд![Сравнение ООП и ПОП](/documents_5/353dbf7cec9cde9f819e7411f0634f63/img24.jpg)
Содержание слайда: Сравнение ООП и ПОП