Українська
Підсумки
Висновки
Клас визначає контракт стану й поведінки. Конструктор створює коректний початок, а методи й властивості підтримують інваріанти. Угоди інкапсуляції допомагають співпраці розробників; вони не є захистом від навмисного доступу. Зв’язки об’єктів і UML допомагають пояснити відповідальність до написання всіх методів.
Питання для самоперевірки
- Чим клас відрізняється від екземпляра?
- Які обов’язки мають
__new__і__init__? - Як передається
selfу зв’язаному методі? - Чому анотація атрибута не створює значення?
- Коли атрибут екземпляра затіняє атрибут класу?
- Чому список класу стає спільним для об’єктів?
- Який пріоритет має дескриптор даних?
- Що дає й чого не дає
__slots__? - Чим відрізняються
_nameта__name? - Як уникнути рекурсії в сеттері?
- Коли кешована властивість стає застарілою?
- Як обрати між методом, classmethod і staticmethod?
- Чим різняться
__str__і__repr__? - Як пояснити агрегацію та композицію на UML?
- Чому
delне гарантує негайну фіналізацію?