Работал ли с Extensions в Kotlin

«Работал ли с Extensions в Kotlin» — вопрос из категории Kotlin, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, работал. Kotlin Extensions позволяют расширять функциональность существующих классов без наследования.

Пример:

// Расширение для String
fun String.addExclamation(): String = "$this!"

// Использование
val greeting = "Hello".addExclamation() // "Hello!"

Android-пример (ViewExtensions.kt):

fun View.show() { visibility = View.VISIBLE }
fun View.hide() { visibility = View.GONE }

// Использование в Activity/Fragment
button.hide()

Особенности:

  • Не изменяют исходный класс.
  • Могут быть объявлены как extension-функции или extension-свойства.
  • Работают через статический импорт.
  • Полезны для улучшения читаемости кода и уменьшения boilerplate.