Учебный центр IBS

JVA-031 Язык Scala для Java-разработчиков

Для кого: Бэкенд разработчикМидл Сеньор
Начало: По факту набора потока
Длительность: 1 неделя
Улучшаемые навыки:
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 для определения неявного приведения типа
  • Импортирование и использование неявных преобразований
  • Неявные параметры 

Отзывы о курсе

Отзывов пока нет
Будьте первым, напишите отзыв и поставьте оценку этому курсу.

Еще курсы