Українська
Підсумки
Висновки
Клас задає перевірений спосіб створення та зміни стану. Конструктори узгоджують початкові дані, властивості відокремлюють доступ від збереження, а модифікатори видимості обмежують місця зміни. Пакети організовують імена; вкладені типи виражають локальний зв’язок. Якість моделі визначається її контрактом і перевірками, а не кількістю написаних класів.
Питання для самоперевірки
- Чому
valне гарантує незмінності об’єкта? - Чим параметр конструктора відрізняється від властивості?
- У якому порядку виконуються
initта вторинний конструктор? - Чому початкове значення потрібно перевіряти окремо від сетера?
- Коли потрібний
field, а коли поле взагалі зайве? - Який ризик створює читання неініціалізованого
lateinit? - Чим модуль відрізняється від пакета?
- Коли вкладений клас має бути
inner? - Що перевірити після відмови методу?
- Як клас виглядатиме на UML і для Java-клієнта?