Учебный центр IBS
JVA-031 Язык Scala для Java-разработчиков
Улучшаемые навыки:
ScalaСертификатОнлайн
Описание курса
В данном курсе слушатели получат представление о специфике и особенностях языка Scala, его преимуществах и сложных местах. Курс включает рассмотрение операторов и типов данных Scala, изучение основных структур данных, таких как массивы, map, tuples, использование объектно-ориентированного и функционального программирования, работу с коллекциями Scala, применение pattern matching, case-классов, generic-типов и неявных преобразований. Предлагается большое количество практических упражнений.
Модуль 1
- Условные операторы
- Циклы
- Функции
- Переменные
- Операторы
- Тип Unit
- Типы функций
- Типы Null, Nothing, Any, AnyRef и AnyVal
- Исключения
Модуль 2
- Создание, добавление и удаление элементов массива
- Доступ к элементам массива
- Массивы фиксированной и вариативной длины
- Многомерные массивы
- Операции с массивами
- Сортировка массива
- Конструирование и доступ в ассоциативным таблицам
- Итерирование, изменение, сортировка ассоциативных таблиц
- Кортежи
- Зиппирование
Модуль 3
- Классы
- Свойства с геттерами и сеттерами
- Использование скобок при вызове методов
- Свойства только с геттерами
- Вспомогательные конструкторы
- Основной конструктор
- Вложенные классы
- Расширение класса
- Переопределение методов
- Проверка и приведение типа
- Вызов конструктора суперкласса
- Переопределение полей
- Анонимные подклассы
- Абстрактные поля
- Порядок конструирования и ранние определения
- Иерархия наследования
- Сравнение объектов на равенство
Модуль 4
- Синглтоны
- Объекты-компаньоны
- Объекты, расширяющие класс или трейт
- Перечисления
- Пакеты-объекты
- Методы apply и unapply
- Ленивые объекты
- Объекты, использующие несколько трейтов
Модуль 5
- Трейты как интерфейсы
- Трейты с конкретной имплементацией
- Переопределение абстрактных методов в трейтах
- Конкретные и абстрактные поля в трейтах
- Порядок конструирования трейта
- Инициализация полей трейта
- Трейты, расширяющие классы
- Self-типы
Модуль 6
- Функции как переменные
- Аргументы по умолчанию и именованные аргументы
- Функции без возвращаемого значения
- Анонимные функции
- Функции с параметрами-функциями
- Замыкания
- Функциональные интерфейсы
- Каррирование
- Передача функции как параметра в виде блока кода
- Использование return
Модуль 7
- Трейты коллекций в Скала: Map, Set и Seq
- Изменяемые и неизменяемые коллекции
- Последовательности
- Списки
- Изменяемые списки
- Множества
- Операторы для работы с коллекциями
- Стандартные методы работы с коллекциями
- Использование функций map, reduce, fold и scan
- Зиппирование
- Итераторы
- Потоки данных
- Потокобезопасные коллекции
- Параллельные вычисления в коллекциях
- Взаимодействие с коллекциями Java
Модуль 8
- Использование паттерн матчинга
- Переменные в паттернах
- Паттерны-типы
- Сравнение с массивами, списками и кортежами
- Регурярные выражения
- Экстракторы
- Паттерны в определении переменных
- Паттерны в выражениях for
Модуль 9
- Сase-классы
- Метод copy и именованные параметры
- Защищенные классы
- Тип Option
- Частично определенные функции
Модуль 10
- Дженерик-классы
- Дженерик-функции
- Ограничения типов, вариативные типы +T, -T
- Использование _ вместо типа
Модуль 11
- Ключевое слово implicit для определения неявного приведения типа
- Импортирование и использование неявных преобразований
- Неявные параметры
Отзывы о курсе
Еще курсы
Бэкенд разработчик261Фулстек разработчик156Фронтенд разработчик139Веб-разработчик120Разработчик игр90Разработчик мобильных приложений67Десктоп разработчик35Архитектор программного обеспечения30Инженер встраиваемых систем25Разработчик баз данных21Программист 1С21Системный инженер8HTML-верстальщик6Архитектор баз данных3
Все курсы в специализации