План курса OOP от andron13 #
- Создание объекта на примере машины, утки.
- Перегрузка методов - полиморфизм. Написание методов для массивов всех примитивных типов с использованием перегрузки: создание массива, добавление элемента, изменение элемента, удаление элемента, чтение элемента, сортировки массива.
- Конструкторы. Способы создания стрингов на примере. И показать персон и ссылки на объекты. Классы String, StringBuffer, StringBuilder
- Инкапсуляция. Гетеры, сеттеры, THIS, модификаторы доступа. Объекты на примере обычных дробей
- Наследование, модификаторы доступа
- Переопределение методов (@override)
- Абстракция. На примере линии: круга, квадрата
- Ассоциация, агрегация, композиция
- Интерфейсы. Понятие интерфейса. Изучение основных интерфейсов.
- Enum. перечисления
- Дата в Java. Закрепление объектов. Работа с датой и временем
- Принципы ООП: инкапсуляция, наследование, полиморфизм, абстракция. Определения, повторение, примеры. Закрепление объектов
- Массивы объектов. Цикл for…each
- Повторение и изучение новых алгоритмов сортировки и ПОИСКА. Рекурсия.
- Создание JAR и добавление библиотек в проект.
- Maven
- Gradle
- Unit-тестирование
- Вложенные, внутренние, анонимные классы;
- Дженерики.
- Интерфейсы Comparable, Comparator.
- Потоки ввода/вывода, работа с файлами
- Сериализация и десериализация. JSON, XML
- Работа с ошибками. Exception.
- Изучение структур данных: списки, стеки, деревья.
- Паттерны проектирования (Одиночка, декоратор, строитель, стратегия);
- Коллекции;
- Функциональные интерфейсы;
- Лямбда выражения;
- Многопоточность