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

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

Начало: По факту набора потока
СертификатОнлайн

Описание курса

<![CDATA[<p>В данном курсе слушатели получат представление о специфике и особенностях языка Scala, его преимуществах и сложных местах. Курс включает рассмотрение операторов и типов данных Scala, изучение основных структур данных, таких как массивы, map, tuples, использование объектно-ориентированного и функционального программирования, работу с коллекциями Scala, применение pattern matching, case-классов, generic-типов и неявных преобразований. Предлагается большое количество практических упражнений.

  • Условные операторы
  • Циклы
  • Функции
  • Переменные
  • Операторы
  • Тип Unit
  • Типы функций
  • Типы Null, Nothing, Any, AnyRef и AnyVal

Исключения

  • Создание, добавление и удаление элементов массива
  • Доступ к элементам массива
  • Массивы фиксированной и вариативной длины
  • Многомерные массивы
  • Операции с массивами
  • Сортировка массива
  • Конструирование и доступ в ассоциативным таблицам
  • Итерирование, изменение, сортировка ассоциативных таблиц
  • Кортежи

Зиппирование

  • Классы
  • Свойства с геттерами и сеттерами
  • Использование скобок при вызове методов
  • Свойства только с геттерами
  • Вспомогательные конструкторы
  • Основной конструктор
  • Вложенные классы
  • Расширение класса
  • Переопределение методов
  • Проверка и приведение типа
  • Вызов конструктора суперкласса
  • Переопределение полей
  • Анонимные подклассы
  • Абстрактные поля
  • Порядок конструирования и ранние определения
  • Иерархия наследования

Сравнение объектов на равенство

  • Синглтоны
  • Объекты-компаньоны
  • Объекты, расширяющие класс или трейт
  • Перечисления
  • Пакеты-объекты
  • Методы apply и unapply
  • Ленивые объекты

Объекты, использующие несколько трейтов

  • Трейты как интерфейсы
  • Трейты с конкретной имплементацией
  • Переопределение абстрактных методов в трейтах
  • Конкретные и абстрактные поля в трейтах
  • Порядок конструирования трейта
  • Инициализация полей трейта
  • Трейты, расширяющие классы

Self-типы

  • Функции как переменные
  • Аргументы по умолчанию и именованные аргументы
  • Функции без возвращаемого значения
  • Анонимные функции
  • Функции с параметрами-функциями
  • Замыкания
  • Функциональные интерфейсы
  • Каррирование
  • Передача функции как параметра в виде блока кода

Использование return

  • Трейты коллекций в Скала: Map, Set и Seq
  • Изменяемые и неизменяемые коллекции
  • Последовательности
  • Списки
  • Изменяемые списки
  • Множества
  • Операторы для работы с коллекциями
  • Стандартные методы работы с коллекциями
  • Использование функций map, reduce, fold и scan
  • Зиппирование
  • Итераторы
  • Потоки данных
  • Потокобезопасные коллекции
  • Параллельные вычисления в коллекциях

Взаимодействие с коллекциями Java

  • Использование паттерн матчинга
  • Переменные в паттернах
  • Паттерны-типы
  • Сравнение с массивами, списками и кортежами
  • Регурярные выражения
  • Экстракторы
  • Паттерны в определении переменных

Паттерны в выражениях for

  • Сase-классы
  • Метод copy и именованные параметры
  • Защищенные классы
  • Тип Option

Частично определенные функции

  • Дженерик-классы
  • Дженерик-функции
  • Ограничения типов, вариативные типы +T, -T

Использование _ вместо типа

  • Ключевое слово implicit для определения неявного приведения типа
  • Импортирование и использование неявных преобразований
  • Неявные параметры

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

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