Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про Kotlin: extension, function, static, dispatch, helper

Что такое extension-функции в Kotlin?

Проверяет знание механизма добавления методов к существующим типам без унаследования.

Короткий ответ

Extension-функции позволяют «расширить» класс, добавив к нему новый метод без изменения его исходного кода или наследования. Они объявляются через синтаксис fun Type.myFun() {…}, доступны как обычные методы и помогают писать более читаемый код.

Длинный ответ

1. Объявление:

fun String.isEmail(): Boolean =
  	Regex("^[^@\\s]+@[^@\\s]+\\.[^@\\s]+\$").matches(this)

2. Применение:

val email = "test@example.com"
if (email.isEmail()) { /* ... */ }

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

  • Компилируются в статические методы с первым параметром типа

  • Порядок разрешения: методы класса > extension

4. Примеры использования:

  • Удобные проверки (List<T>.isNotEmpty())

  • DSL: button { text = "OK" }

Когда применять:

  • При необходимости добавить вспомогательный метод

  • Для создания читаемых DSL

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Kotlin

    Kotlin

Ключевые слова

#extension

#function

#static

#dispatch

#helper

Подпишись на Android Developer в телеграм