Skip to content

Фаза 2 – Объектно-ориентированное программирование (2–3 месяца)

Classes, Objects, Attributes, Methods

  • Структура класса
  • Инстанцирование объектов
  • Использование this
  • Лучшие практики: именование, организация кода

Encapsulation, Inheritance, Polymorphism, Abstraction

  • Encapsulation: private, getters/setters, валидация
  • Inheritance: extends, overriding (@Override)
  • Polymorphism: подтипы, method overloading
  • Abstraction: обзор, подготовка к интерфейсам и абстрактным классам

Interfaces и Abstract Classes

  • Interfaces: implements, default methods
  • Abstract classes: абстрактные и конкретные методы
  • Различия между интерфейсом и абстрактным классом

Constructors, Initializers, Static Blocks

  • Конструкторы по умолчанию и с параметрами, вызовы через this()
  • Блоки инициализации ({}) и static блоки (static {})

Enumerations

  • Создание и использование enum
  • Методы и атрибуты в enum

Базовые Collections

  • ArrayList: добавление, удаление, итерация (for, forEach, Iterator)
  • HashMap: key-value, основные операции
  • HashSet: устранение дубликатов
  • Введение в Queue и Stack (например, LinkedList как queue/stack)
  • Введение в Java Collections Framework

Базовые алгоритмы

  • Линейный и бинарный поиск
  • Sorting: Bubble Sort, Collections.sort()
  • Recursion: концепции и простые примеры (например, факториал, Фибоначчи)
  • Введение в сложность (O(n), O(log n))

Generics

  • Синтаксис (), generic collections, generic methods
  • Ограничения (extends, super)

Stream API (Введение)

  • Основные операции: filter, map, collect
  • Примеры с ArrayList

Unit Testing (Введение)

  • Базовое использование JUnit
  • Написание тестовых случаев для классов и методов
  • Введение в TDD (Test-Driven Development)

Финальный проект

  • Система библиотеки
  • Классы: Book, User, Library
  • Наследование: DigitalBook и PhysicalBook
  • Коллекции: ArrayList для книг, HashMap для займов
  • Encapsulation: валидация данных
  • Git: коммиты по функциям (например, feature/book-management)
  • Публикация на GitHub с подробным README

Обновленные ресурсы