Sobes.tech
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'

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