Sobes.tech
Back to questions
Junior — Middle
66

Как реализуются и используются расширяющие функции в Kotlin?

Answer from AI

sobes.tech AI

В Kotlin расширяющие функции позволяют добавлять новые функции к существующим классам без необходимости наследования или изменения исходного кода класса. Они объявляются вне класса с помощью синтаксиса fun ReceiverType.functionName(). Внутри расширяющей функции this ссылается на объект-приемник.

Пример:

fun String.lastChar(): Char = this[this.length - 1]

val c = "Kotlin".lastChar()  // 'n'

Расширяющие функции удобно использовать для добавления утилит и улучшения читаемости кода, особенно при работе с библиотечными классами. Они вызываются как обычные методы объекта, но фактически являются статическими функциями с первым параметром — объектом-приемником.