JavaRush
AI Academy
new
Акція
Університет
Java FullStack
Python FullStack
AI Native Developer
new
Навчання
Курси
Задачі
Опитування
Ігри
Допомога
Графік стусанів
Стажування
Спільнота
Користувачі
Форум
Чат
Статті
Історії успіху
Дії
Відгуки
Передплати
Світла тема

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • Інтерфейс як контракт — методи, властивості та реалізації за замовчуванням

    Kotlin SELF
    37 рівень, 0 лекція
    Розбираємо інтерфейс у Kotlin як контракт: що саме «обіцяє» клас, коли пише : SomeInterface; як улаштовані методи fun без тіла та з реалізацією за замовчуванням; чому властивості val/ var в інтерфейсі — це не «поля зберігання»; і як писати універсальні функції, що приймають тип інтерфейсу (наприклад, CliPrintable), замість конкретних класів. Усередині — практичні приклади з Identifiable, Greeter, RenderableLine і HasTitle, а також розбір типових помилок.
    Відкрита
  • Множинна реалізація інтерфейсів

    Kotlin SELF
    37 рівень, 1 лекція
    Розбираємо множинну реалізацію інтерфейсів у Kotlin: чому інтерфейси краще тримати вузькими, як Kotlin не допускає неоднозначності в разі конфлікту реалізацій, коли override є обовʼязковим і як явно вибирати потрібну реалізацію через super<...>. На прикладах покажемо конфлікти методів за замовчуванням, поєднання методу за замовчуванням з абстрактним оголошенням, конфлікти між базовим класом та інтерфейсом, а також аналогічні ситуації з властивостями ( val).
    Відкрита
  • fun interface і SAM‑конверсія

    Kotlin SELF
    37 рівень, 2 лекція
    Розбираємося, навіщо в Kotlin потрібен fun interface, що таке SAM‑конверсія та як компілятор «перетворює» лямбду на обʼєкт інтерфейсу. Порівняємо SAM-інтерфейс із функціональними типами ( ( Int ) -> Boolean) і typealias, зберемо реєстр CLI‑команд через CommandHandler, обговоримо замикання й типові помилки (дві абстрактні функції, невідповідність сигнатури, прихована мутабельність).
    Відкрита
  • sealed interface — закритий набір варіантів

    Kotlin SELF
    37 рівень, 3 лекція
    Розбираємо, як sealed interface допомагає моделювати «закритий набір варіантів» замість рядків, прапорців і null. Вчимося перетворювати введення на тип Command, писати вичерпний when без else, описуємо результат виконання через CommandResult ( Ok/ Error), а також розглядаємо нюанси вибору між enum, sealed class і sealed interface.
    Відкрита
  • object, companion object, object : ... — одиночні та одноразові об’єкти

    Kotlin SELF
    37 рівень, 4 лекція
    Розбираємо три форми об’єктів у Kotlin: іменований синглтон через object, «майже статичний» API через companion object і одноразові реалізації через object : Interface { ... }. Паралельно обговоримо, де зберігати константи та фабрики, як не перетворити синглтон на «глобальне звалище» і чому в анонімного об’єкта можуть «зникати» унікальні методи через статичний тип змінної.
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush