Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
37 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
193.50 kB
Просмотров:
120
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд![Курс С . Программирование на](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img0.jpg)
Содержание слайда: Курс «С++. Программирование на языке высокого уровня»
Павловская Т.А.
№2 слайд![Лекция . Наследование.](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img1.jpg)
Содержание слайда: Лекция 6. Наследование. Шаблоны классов
Простое и множественное наследование классов. Виртуальные методы. Абстрактные классы. Создание и использование шаблонов классов.
№3 слайд![Наследование Наследование](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img2.jpg)
Содержание слайда: Наследование
Наследование является мощнейшим инструментом ООП и применяется для следующих взаимосвязанных целей:
исключения из программы повторяющихся фрагментов кода;
упрощения модификации программы;
упрощения создания новых программ на основе существующих.
Кроме того, наследование является единственной возможностью использовать объекты, исходный код которых недоступен, но в которые требуется внести изменения.
№4 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img3.jpg)
№5 слайд![В наследнике можно описывать](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img4.jpg)
Содержание слайда: В наследнике можно описывать новые поля и методы и переопределять существующие методы. Переопределять методы можно несколькими способами.
Если какой-либо метод в потомке должен работать совершенно по-другому, чем в предке, метод описывается в потомке заново. При этом он может иметь другой набор аргументов.
Если требуется внести добавления в метод предка, то в соответствующем методе потомка наряду с описанием дополнительных действий выполняется вызов метода предка с помощью операции доступа к области видимости.
Если в программе планируется работать одновременно с различными типами объектов иерархии или планируется добавление в иерархию новых объектов, метод объявляется как виртуальный с помощью ключевого слова virtual. Все виртуальные методы иерархии с одним и тем же именем должны иметь одинаковый список аргументов.
№6 слайд![Правила наследования](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img5.jpg)
Содержание слайда: Правила наследования
№7 слайд![Иными словами](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img6.jpg)
Содержание слайда: Иными словами:
№8 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img7.jpg)
№9 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img8.jpg)
№10 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img9.jpg)
№11 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img10.jpg)
№12 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img11.jpg)
№13 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img12.jpg)
№14 слайд![Виртуальные методы](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img13.jpg)
Содержание слайда: Виртуальные методы
№15 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img14.jpg)
№16 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img15.jpg)
№17 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img16.jpg)
№18 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img17.jpg)
№19 слайд![Рекомендации](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img18.jpg)
Содержание слайда: Рекомендации
№20 слайд![Виды отношений между классами](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img19.jpg)
Содержание слайда: Виды отношений между классами
ассоциация
(два класса концептуально взаимодействуют друг с другом);
наследование
(отношение обобщения, «is a»);
агрегация (отношение целое/часть, «has a»);
строгая (композиция)
нестрогая (по ссылке)
зависимость
(отношение использования)
№21 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img20.jpg)
№22 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img21.jpg)
№23 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img22.jpg)
№24 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img23.jpg)
№25 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img24.jpg)
№26 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img25.jpg)
№27 слайд![Пример параметра указателя](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img26.jpg)
Содержание слайда: Пример параметра–указателя
№28 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img27.jpg)
№29 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img28.jpg)
№30 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img29.jpg)
№31 слайд![Организация исходного кода](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img30.jpg)
Содержание слайда: Организация исходного кода
Принято размещать все определение шаблонного класса в заголовочном файле и подключать его к нужным файлам с помощью директивы #include. Для предотвращения повторного включения этого файла используйте «стражи включения»
№32 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img31.jpg)
№33 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img32.jpg)
№34 слайд![Специализация всего класса](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img33.jpg)
Содержание слайда: Специализация всего класса
// общий шаблон
template <class T> class Sample {
bool Less(T) const; /*...*/ };
// специализация для char*
template <> class Sample<char*> {
bool Less(char*) const; /*...*/ };
№35 слайд![Использование классов](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img34.jpg)
Содержание слайда: Использование классов функциональных объектов для настройки шаблонных классов
№36 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img35.jpg)
№37 слайд![](/documents_6/2f979235f2dbb4549bfc1349afffe41f/img36.jpg)