На этом шаге мы приведем общие сведения о расширениях.
Расширения позволяют добавить функциональности типу без явного изменения объявления типа. Применяйте расширения с пользовательскими типами, а также с типами, над которыми у вас нет контроля, например List, String и другими типами из стандартной библиотеки Kotlin.
Расширения служат альтернативой наследованию. Они хорошо подходят для добавления функциональности в тип, если определение класса вам недоступно или класс не имеет модификатора open, позволяющего создавать подклассы.
Стандартная библиотека языка Kotlin часто использует расширения. Например, стандартные функции, объявлены как расширения, и в следующих шагах вы увидите несколько примеров их объявления.
В этом разделе мы сначала поработаем в проекте Sandbox, а затем применим полученные знания для оптимизации кода NyetHack. Начнем с того, что откроем проект Sandbox и создадим новый файл с именем Extensions.kt.
На следующем шаге мы рассмотрим объявление функции-расширения.