
JVA-031 Язык Scala для Java-разработчиков
Начало: По мере набора группы
Длительность: 1 неделя
СертификатОнлайн
Описание курса
В данном курсе слушатели получат представление о специфике и особенностях языка 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 для определения неявного приведения типаИмпортирование и использование неявных преобразованийНеявные параметры