Українська
Тема 11. Абстрактні класи, інтерфейси та множинне наслідування
Мета: навчитися застосовувати поняття теми «Абстрактні класи, інтерфейси та множинне наслідування» у консольних проєктах; обґрунтовувати інваріанти й контракт операцій, перевіряти звичайні та граничні випадки.
Зміст лекції
- Абстрактні класи та NVI — Абстрактний клас та чисто віртуальна операція · NVI: стабільна оболонка та змінний крок
- Віртуальна база та стратегія — Ромб і віртуальна база · Стратегія через композицію
- Інтерфейси та шаблони взаємодії — Чисто віртуальний деструктор та визначення функції · Множинні інтерфейси та неоднозначність імен · Модель підоб’єктів та ABI · Спостерігач: підписка та час життя · Команда: виконання та історія · Міксини, композиція та розмір ієрархії
- Розбори та типові помилки — Аудит інтерфейсу перед реалізацією · Перевірка абстракцій і типові відмови · Межі композиції на прикладі стратегій знижки · Що відбувається з подіями під час відписки · Інваріант історії undo та redo