Курс: Язык Scala для Java-разработчиков

Курс: Язык Scala для Java-разработчиков

Курс: Язык Scala для Java-разработчиков


Продолжительность курса: 32 ак. ч.

Описание курса:
Язык Scala в последние годы набирает популярность не только в программировании, но в enterprise-разработке. К его преимуществам относятся использование самых современных нововведений в языки программирования и обширная поддержка функционального подхода к разработке. Это дает возможность повысить эффективность разработки, создавая очень краткий и эффективный код. Код на Scala компилируется в Java байт-код и выполняется внутри JVM, что обеспечивает отличную совместимость с существующими библиотеками и инструментами Java.
Слушатели получат представление о специфике и особенностях языка Scala, его преимуществах и сложных местах.
Курс включает рассмотрение операторов и типов данных Scala, изучение основных структур данных, таких как массивы, map, tuples, использование объектно-ориентированного и функционального программирования, работу с коллекциями Scala, применение pattern matching, case-классов, generic-типов и неявных преобразований.
Предлагается большое количество практических упражнений.

Аудитория:
• Java-разработчики;
• Разработчики на других современных языках программирования (C++, C#, и т.д.).

Необходимая подготовка:
Необходимо владение современным объектно-ориентированным языком программирования, желательно Java.

Программа курса:
Модуль 1. Введение в Scala

Модуль 2. Инструкции, операторы и типы
• Условные операторы
• Циклы
• Функции
• Переменные
• Операторы
• Тип Unit
• Типы функций
• Типы Null, Nothing, Any, AnyRef и AnyVal
• Исключения

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

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

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

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

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

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

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

Модуль 10. Case классы, тип Option и partial функции
• Сase-классы
• Метод copy и именованные параметры
• Защищенные классы
• Тип Option
• Частично определенные функции

Модуль 11. Generics
• Дженерик-классы
• Дженерик-функции
• Ограничения типов, вариативные типы +T, -T
• Использование _ вместо типа
• 12. Неявные преобразования
• Ключевое слово implicit для определения неявного приведения типа
• Импортирование и использование неявных преобразований
• Неявные параметры

Окончательная цена указывается в договоре на обучение.

Характеристики курса

  • Начало: Ведется набор
  • Вендор: Java
  • Код курса: JV-43
  • Город: Екатеринбург, Пермь, Москва,
  • Направление: Курсы для IT-специалистов
  • Академических часов: 32
  • Количество мест: 8
  • Очно: 81900 ₽
  • Дистанционно: 81900 ₽
Записаться на курс

Курсы повышения квалификации
и профессиональной переподготовки


График работы:
Мы отвечаем на звонки и письма в будние дни с 7:00 до 16:00 по Мск

8 800 (600)-66-16

Владелец сайта:
АНО ДПО «Учебный центр «ШИФТ»
ИНН 5904355180
ОГРН 1175958039586
Юридический адрес: 614010, г. Пермь, ул. Клары Цеткин, д. 14, офис 32.
E-mail: info@eshift.ru