Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
29 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
536.73 kB
Просмотров:
182
Скачиваний:
1
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд
Содержание слайда: Принципы повторного использования
и полиморфизм
Способы повторного использования классов
Композиция и агрегация
Наследование/Обобщение. Виды наследования
Создание и уничтожение объекта при наследовании
Принцип полиморфизма
Перегрузка и переопределение методов
Виртуальные функции
Статическое и динамическое связывание
Повторное использование интерфейса и реализации
№2 слайд
Содержание слайда: Всегда ли нужно создавать новый класс?
№3 слайд
Содержание слайда: Зачем использовать существующие классы?
Повторное использование ранее принятых решений
Делает решение гибким и мобильным
Существующие классы, как правило, хорошо отлажены и показали себя в работе
№4 слайд
Содержание слайда: Способы повторного использования классов
№5 слайд
Содержание слайда: Композиция и агрегация
Композиция/агрегация – это отношение между типами, которое возникает тогда, когда объект одного типа содержит в себе объекты других типов
Правило: моделируйте отношение «содержит» или «реализуется посредством» с помощью композиции/агрегации
№6 слайд
Содержание слайда: Пример композиции
№7 слайд
№8 слайд
№9 слайд
Содержание слайда: Понятие обобщения/наследования
Cвязь типа «является» («is a») или «частное/общее»
№10 слайд
№11 слайд
№12 слайд
Содержание слайда: Создание и уничтожение
объекта при наследовании
№13 слайд
Содержание слайда: Дискуссионный вопрос
№14 слайд
Содержание слайда: Интерфейс и его реализация
№15 слайд
Содержание слайда: Понятие интерфейса в ООП
Интерфейс — это конструкция в коде программы, используемая для специфицирования услуг, предоставляемых классом или компонентом
№16 слайд
Содержание слайда: Понятие интерфейса в ООП
Интерфейс определяет границу взаимодействия между классами или компонентами, специфицируя определенную абстракцию
Операции интерфейса реализуются (алгоритмизируются) конкретными классами, которые поддерживают интерфейс
Класс (и все его объекты) могут иметь один или несколько интерфейсов
№17 слайд
Содержание слайда: Пример применения интерфейса
№18 слайд
Содержание слайда: Полиморфизм
Полиморфизм
(от др.греч. — многообразный) — свойство, которое позволяет использовать один и тот же интерфейс для общего класса действий
"один интерфейс, несколько методов"
Можно спроектировать общий интерфейс для группы связанных между собой действий
Конкретное действие определяется конкретным характером ситуации
№19 слайд
Содержание слайда: Перегрузка (overloading) функций (методов)
Определение функций (методов) с одинаковым именем, но с разным списком параметров (разные типы и/или количество параметров)
Способ борьбы со сложностью кода
№20 слайд
Содержание слайда: Наследование обычных функций (методов)
с перекрытием имен
№21 слайд
Содержание слайда: Переопределение (overriding)
виртуальных функций (методов)
№22 слайд
Содержание слайда: Связывание (binding)
№23 слайд
Содержание слайда: Method Overloading vs. Overriding
№24 слайд
Содержание слайда: Полиморфизм: шаги реализации (1)
Определить иерархию наследования классов
Переопределить в подклассах виртуальные функции, унаследованные от суперкласса
№25 слайд
Содержание слайда: Полиморфизм: шаги реализации (2)
Объявить указатель (или массив указателей) типа суперкласса
Создать объект нужного подкласса (сохранив адрес в объявленном ранее указателе)
Вызвать переопределенный метод через указатель на объект
№26 слайд
Содержание слайда: Абстрактные классы - интерфейсы
№27 слайд
Содержание слайда: Повторное использование в С++
Правило 1: Используйте открытое наследование для моделирования отношения «является»
Правило 2: Моделируйте отношение «содержит» или «реализуется посредством» с помощью композиции (агрегации)
Правило 3: Различайте наследование интерфейса от наследования реализации
№28 слайд
Содержание слайда: Повторное использование реализации и интерфейса
№29 слайд
Содержание слайда: Резюме: рассмотренные вопросы
Зачем использовать существующие классы?
Какие существуют способы повторного использования?
В каком случае стоит применять наследование, а в каком – композицию или агрегацию?
Какие существуют виды наследования?
В чем заключается принцип полиморфизма?
Что такое перегрузка и переопределение методов?
Чем отличаются виртуальные и невиртуальные функции при наследовании?
В чем отличие использования статического и динамического связывания?
Каковы шаги реализации полиморфизма в программном коде?
Как обеспечить повторное использование реализации и интерфейса?