Junior — Middle
Как се реализират и използват разширяващите функции в Kotlin?
sobes.tech AI
Отговор от AI
В Kotlin разширяващите функции позволяват добавянето на нови функции към съществуващи класове без необходимост от наследяване или промяна на изходния код на класа. Те се обявяват извън класа с помощта на синтаксиса fun ReceiverType.functionName(). Вътре в разширяващата функция this се отнася за обекта-приемник.
Пример:
fun String.lastChar(): Char = this[this.length - 1]
val c = "Kotlin".lastChar() // 'n'
Разширяващите функции са удобни за добавяне на помощни функции и подобряване на четливостта на кода, особено при работа с класове от библиотеки. Те се извикват като обикновени методи на обекта, но всъщност са статични функции с първия параметър като обекта-приемник.