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

Лекції

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

    JAVA 25 SELF
    17 рівень, 0 лекція
    У цій лекції розглянемо, що таке наслідування в Java, як завдяки ньому уникати дублювання коду, а також як оголошувати ієрархії класів через ключове слово extends. Розберемо, що саме наслідує підклас, які існують обмеження (одиничне наслідування, приватні члени, конструктори), розглянемо практичний приклад із тваринами, нюанси роботи з конструкторами та типові помилки.
    Відкрита
  • Перевизначення методів (override), анотація @Override

    JAVA 25 SELF
    17 рівень, 1 лекція
    У цій лекції розберемо перевизначення методів у Java: як і навіщо підклас підміняє поведінку батьківського класу; яку користь дає анотація @Override; як працює поліморфізм під час викликів через посилання базового типу; а також ключові правила (сигнатура, модифікатори доступу, винятки, коваріантність) і обмеження ( static, final, private). Завершимо практикою на міні‑проєкті «Зоопарк» і розбором типових помилок.
    Відкрита
  • Використання super: виклик конструктора й методів батьківського класу

    JAVA 25 SELF
    17 рівень, 2 лекція
    Розглядаємо ключове слово super у Java: як викликати методи й конструктори батьківського класу, як звертатися до прихованих полів батьківського класу, коли й навіщо розширювати поведінку через super і super(...), а також обмеження (не можна використовувати у статичних методах, немає доступу до private) і типові помилки. Багато практичних прикладів на ієрархії Animal/ Cat/ Dog і Vehicle/ Car.
    Відкрита
  • Створення ієрархії класів та приклади з життя

    JAVA 25 SELF
    17 рівень, 3 лекція
    Навчимося проєктувати та реалізовувати ієрархії класів у Java: як виокремлювати загальне і часткове, вибудовувати дерево наслідування, де доречним є відношення is-a, а коли краще використовувати композицію ( has-a). Розглянемо живі приклади (тварини, геометрія, транспорт, користувачі), тонкощі архітектури та типові помилки під час проєктування.
    Відкрита
  • Проблеми та обмеження наслідування

    JAVA 25 SELF
    17 рівень, 4 лекція
    У цій лекції обговорюємо межі моделі наслідування у Java: одиничне наслідування класів, відсутність наслідування конструкторів і недоступність членів класу з модифікатором private. Розберемо «крихкі» ієрархії та ефект «зламаного» наслідування, покажемо альтернативи — композицію ( has-a), делегування та інтерфейси, а також критерії, коли справді варто використовувати extends. Заодно згадаємо виклик батьківського конструктора через super(...) і типові помилки проєктування.
    Відкрита
  • Поняття поліморфізму: навіщо він потрібен

    JAVA 25 SELF
    18 рівень, 0 лекція
    У лекції розглядаємо поліморфізм у Java: що це таке, чим відрізняються overloading і overriding, як працює пізнє звʼязування і чому один інтерфейс може мати багато реалізацій. На практичних прикладах побачимо, як поліморфізм спрощує архітектуру, робить код розширюваним і знижує звʼязність модулів.
    Відкрита
  • Перевантаження методів (overloading)

    JAVA 25 SELF
    18 рівень, 1 лекція
    Зануримося у перевантаження методів у Java: коли доречно оголошувати кілька версій одного й того самого методу, як компілятор обирає найкращу відповідність параметрам, чому не можна перевантажувати лише за типом, що повертається, і як працюють перевантажені конструктори та зі змінною кількістю аргументів ... (varargs). Розглянемо приклади з println, створимо невеликий Calculator і розберемо типові помилки, повʼязані з автоматичним перетворенням і неоднозначністю між Integer/ Long.
    Відкрита
  • Перевизначення методів (overriding): відмінність від перевантаження

    JAVA 25 SELF
    18 рівень, 2 лекція
    Детально розберемо перевизначення методів у Java: як overriding забезпечує поліморфізм під час виконання, чим воно відрізняється від overloading, які правила діють (сигнатури, доступ, винятки, коваріантність), як використовувати @Override і як викликати логіку батьківського класу через super. Покажемо практичні приклади й розглянемо типові помилки.
    Відкрита
  • Використання поліморфізму на практиці

    JAVA 25 SELF
    18 рівень, 3 лекція
    Покажемо поліморфізм на живих прикладах: як зберігати різнорідні об’єкти в одній колекції базового типу та викликати «правильні» методи без if/ switch, чому додавання нового підкласу не потребує переписування логіки і які обмеження має цей підхід. Побудуємо ієрархію співробітників із методом work(), поговоримо про розширюваність і розглянемо типові помилки.
    Відкрита
  • Звʼязок поліморфізму й абстрактних класів

    JAVA 25 SELF
    18 рівень, 4 лекція
    Як абстрактні класи та методи формують спільний контракт і дають змогу поліморфізму в Java: чому не можна створити обʼєкт абстрактного класу, як нащадки реалізують обовʼязкові методи, як працювати з базовим типом і водночас отримувати «правильну» поведінку. Розгляньмо приклади з тваринами та ієрархією співробітників, нюанси синтаксису й типові помилки.
    Відкрита
  • Абстракція в ООП: навіщо і як застосовувати

    JAVA 25 SELF
    19 рівень, 0 лекція
    Зрозумілий вступ до абстракції в ООП на Java: що це таке, навіщо вона потрібна і як її застосовувати у проєктуванні. Розберемо інструменти мови — абстрактні класи abstract class та інтерфейси interface, абстрактні методи й роботу через спільний контракт (наприклад, виклики на кшталт payment.process() або draw()). На практичних прикладах ( Shape, Payment, Transport) покажемо, як приховувати деталі реалізації, зменшувати звʼязність і спрощувати розширення системи.
    Відкрита
  • Абстрактні класи та методи: синтаксис, приклади

    JAVA 25 SELF
    19 рівень, 1 лекція
    У цій лекції крок за кроком розберімося з абстрактними класами та методами в Java: коли потрібен abstract, як оголосити абстрактний class, у чому відмінність від interface та як реалізовувати обовʼязкові методи (наприклад, makeSound()) у нащадках. Теорію супроводимо наочними прикладами ( Animal, Transport, Shape) і розберемо типові помилки — від спроби створити екземпляр абстрактного класу до некоректного використання модифікаторів.
    Відкрита
  • 1
  • ...
  • 8
  • 9
  • 10
  • 11
  • 12
  • ...
  • 57
Навчання
  • Курси програмування
  • Реєстрація
  • Курс Java
  • Допомога із задачами
  • Ціни
Спільнота
  • Користувачі
  • Статті
  • Форум
  • Чат
  • Історії успіху
  • Дії
Компанія
  • Про нас
  • Контакти
  • Відгуки
  • FAQ
  • Підтримка
JavaRush JavaRush — це інтерактивний онлайн-курс вивчення Java-програмування з нуля. Він містить 1200 практичних задач із перевіркою розв'язання одним клацанням, необхідний мінімум знань із теоретичних основ Java, а ще мотивувальні «фішки», які допоможуть пройти курс до кінця: ігри, опитування, цікаві проєкти й статті про ефективне навчання та кар'єру Java‑девелопера.
Підписуйтесь
Мова інтерфейсу
Русский English
Українська
Програмістами не народжуються © 2025 JavaRush
MastercardVisa
Програмістами не народжуються © 2025 JavaRush