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

Лекції

  • Відгуки
  • Про нас
  • CS50
Почати
Почати навчання
Почати навчання
  • Моє навчання
  • Курси
  • Університет
  • Карта квестів
  • Лекції
  • data class як модель даних

    Kotlin SELF
    33 рівень, 0 лекція
    Розбираємося, навіщо в Kotlin потрібен data class і як він прибирає рутину в моделях: що саме генерує компілятор ( toString(), equals()/ hashCode(), copy(), componentN()), які правила діють для первинного конструктора ( val/ var) і як застосовувати це на практиці на прикладі моделі витрат. Наприкінці — типові помилки й способи їх уникнути.
    Відкрита
  • Рівність, hashCode і toString у data class

    Kotlin SELF
    33 рівень, 1 лекція
    Розбираємо, як Kotlin генерує equals(), hashCode() і toString() у data class, чим відрізняються == і ===, які властивості беруть участь у порівнянні (лише з primary constructor) і чому без стабільного хешу ламається логіка Set/ Map. Плюс: практичні приклади на моделях Expense і типові пастки з мутабельними ключами.
    Відкрита
  • copy() і незмінюваність моделей — оновлення без мутації та shallow copy

    Kotlin SELF
    33 рівень, 2 лекція
    Розбираємося, як у Kotlin оновлювати дані без мутації: чому незмінювані моделі на val спрощують налагодження, як працює copy() у data class, як оновлювати елемент у MutableList «заміною обʼєкта» або будувати новий список через map, і де ховається головний підступ — shallow copy зі спільними вкладеними посиланнями (наприклад, на MutableList). Наприкінці — практичні функції для трекера витрат і типові помилки.
    Відкрита
  • Деконструкція data class: componentN() і критерії читабельності

    Kotlin SELF
    33 рівень, 3 лекція
    Розбираємося, як у Kotlin працює деконструкція. Чому вираз на кшталт val ( title, category, amount) = e насправді розгортається в ланцюжок викликів component1()/ component2()/ component3(). Що саме компілятор генерує для data class, де доречно використовувати _ і чому порядок властивостей у первинному конструкторі (primary constructor) безпосередньо впливає на зміст коду. Наприкінці — критерії читабельності та типові помилки, які «тихо» проявляються під час рефакторингу.
    Відкрита
  • typealias і value class: читабельність і типобезпечність

    Kotlin SELF
    33 рівень, 4 лекція
    Розбираємо два інструменти Kotlin для «смислових типів»: typealias (підвищує читабельність, але не створює нового типу) і value class (створює окремий тип поверх одного значення та захищає на рівні компілятора). На прикладі консольного «Обліку витрат» підсилюємо модель доменними типами ( ExpenseId, Money), обговорюємо обмеження inline value classes, валідацію через require(...), порівняння == vs === і типові помилки вибору.
    Відкрита
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2026 JavaRush
MastercardVisa
Програмістами не народжуються © 2026 JavaRush