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

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • Успадкування в Kotlin: final за замовчуванням і синтаксис : Base (...)

    Kotlin SELF
    35 рівень, 0 лекція
    Розбираємо базові правила успадкування в Kotlin: чому класи й члени final за замовчуванням, як явно дозволяти розширення через open, як працює синтаксис : Base (...) з обовʼязковим викликом конструктора базового класу, які обмеження є в ієрархії (один базовий клас, нюанси data class) і які типові помилки найчастіше трапляються в новачків.
    Відкрита
  • override і protected у Kotlin

    Kotlin SELF
    35 рівень, 1 лекція
    Розбираємося, чому Kotlin вимагає явного перевизначення через open і override, як правильно перевизначати методи та властивості ( open fun, open val/ var), чому дозволений трюк val → var, що означає final override і як модифікатор видимості protected допомагає дати нащадкам доступ до внутрішніх деталей, не перетворюючи API на «вітрину внутрішньої кухні».
    Відкрита
  • super і порядок ініціалізації: розширюємо базову логіку

    Kotlin SELF
    35 рівень, 2 лекція
    Розбираємо, як коректно розширювати поведінку під час успадкування в Kotlin: коли викликати super усередині override, як повторно використовувати базову логіку в методах і геттерах властивостей та чому порядок ініціалізації (блоки init і властивості) впливає на коректність програми. Окремо обговорюємо небезпеку викликів open-членів із конструктора або під час ініціалізації та показуємо безпечні альтернативи.
    Відкрита
  • Знайомство з поліморфізмом

    Kotlin SELF
    35 рівень, 3 лекція
    Розбираємо поліморфізм у Kotlin через базовий тип і динамічну поведінку: як працює звʼязка open + override, чому змінна типу Base може зберігати обʼєкт Child і як це допомагає уникнути роздування when/ is. На практиці зберемо звіт як список List<ReportLine> з єдиним методом render() і надрукуємо його одним циклом.
    Відкрита
  • Overloading vs overriding: як не переплутати

    Kotlin SELF
    35 рівень, 4 лекція
    Розбираємо два схожі на слух, але принципово різні механізми Kotlin: overloading (перевантаження — вибір за параметрами на етапі компіляції) і overriding (перевизначення — вибір реалізації на етапі виконання). На прикладах із open/ override та поліморфізмом покажемо головну пастку: «хотіли перевизначити — випадково перевантажили». А також закріпимо відмінності таблицею й переліком типових помилок.
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush