Відносини між класами. Успадкування, композиція, агрегація

У програмуванні ви швидко зрозумієте, наскільки важливо не писати зайвого обсягу коду. На щастя, в Java є все необхідне для витонченого «скорочення» коду. У цій лекції наочно описані відносини між класами: успадкування, композиція, агрегація. Приготуйтеся: буде багато цікавих прикладів.

Принципи інкапсуляції

Інкапсуляція, приховування — це різні поняття чи одне й те саме? З базовим варіантом інкапсуляції ви вже стикалися не раз. Якщо хочете знати, як «приховати» від користувача складні механізми роботи своєї програми й залишити перед очима тільки зручний інтерфейс, радимо уважно прочитати цю лекцію.

Практика використання поліморфізму

Головна перевага поліморфізму — гнучкість. З одного боку, ви можете працювати з кількома типами даних так, ніби це один тип. З іншого боку, завдяки цьому принципу ви можете зберігати поведінку об'єктів. Коли вам знадобиться привести все до єдиного вигляду, а коли потрібні унікальні характеристики? Про це й поговоримо.

Для чого в Java потрібні інтерфейси

У цій лекції детально й без поспіху описано, що таке інтерфейси і чому вони з'явилися в мові. А ще ви дізнаєтеся про популярні інтерфейси в Java. Приготуйтеся — ця тема має продовження!

Різниця між абстрактними класами та інтерфейсами

У цій лекції поговоримо про те, чим абстрактні класи відрізняються від інтерфейсів і розглянемо приклади з поширеними абстрактними класами.

Ми присвятили відмінностям абстрактного класу від інтерфейсу окрему лекцію, тому що це дуже важлива тема. Про різницю між цими поняттями вас запитають на 90 % майбутніх співбесід. Тому обов'язково розберіться з прочитаним, а якщо щось не зрозумієте до кінця, почитайте додаткові джерела.