Українська
Підсумки
Висновки
Наслідування визначає підтип і спільний контракт, поліморфізм обирає екземплярну реалізацію за об’єктом, а композиція приховує помічників за вузьким API. Коректна ієрархія потребує не лише extends, а й узгоджених інваріантів, конструкторів і правил рівності.
Питання для самоперевірки
- Чи успадковуються конструктори?
- Коли потрібний явний super з параметрами?
- Чому не слід викликати перевизначуваний метод у конструкторі?
- Як працює protected між пакетами?
- Що перевіряє анотація Override?
- Чим приховування static відрізняється від перевизначення?
- Який тип визначає реалізацію екземплярного методу?
- Чому instanceof безпечніший за неперевірене приведення?
- Який зв’язок між equals і hashCode?
- Коли композиція краще виражає контракт?