Українська
Підсумки
Висновки
Наслідування задає зв’язок типів і може повторно використати реалізацію. Поліморфізм дозволяє клієнтові працювати зі спільною роллю. ABC робить частину вимог явними під час створення, Protocol описує структурний контракт для аналізатора. MRO визначає порядок пошуку, а композиція дозволяє незалежно замінювати частини поведінки. Дизайн перевіряється підстановкою і тестами контракту, а не лише правильно намальованою стрілкою.
Питання для самоперевірки
- Як оголосити похідний клас і викликати базову ініціалізацію?
- Що означає
superу множинному наслідуванні? - Чим відрізняються
isinstanceта точна перевірка типу? - Яку проблему розв’язує поліморфний цикл?
- Чому однакової назви методу недостатньо для контракту?
- Коли ABC забороняє створити екземпляр?
- Як оголосити абстрактну властивість?
- Що є шаблонним методом?
- Чим номінальна типізація відрізняється від структурної?
- Чого не перевіряє
runtime_checkable? - Що змінює
register, а що залишається незмінним? - Які гарантії дають
overrideіfinalпід час виконання? - Як C3 упорядковує ромбоподібну ієрархію?
- Який контракт повинен мати міксин?
- Коли квадрат не може замінити змінюваний прямокутник?