Функция расширения Kotlin (с примерами)

Содержание

В этой статье вы научитесь расширять класс новыми функциями с помощью функций расширения.

Предположим, вам нужно расширить класс новыми функциями. В большинстве языков программирования вы либо создаете новый класс, либо используете для этого какой-то шаблон проектирования.

Однако в Koltin вы также можете использовать функцию расширения для расширения класса новыми функциями. По сути, функция расширения - это функция-член класса, который определен вне класса.

Например, вам нужно использовать метод для класса String, который возвращает новую строку с удаленными первым и последним символами; этот метод еще не доступен в Stringклассе. Вы можете использовать функцию расширения для выполнения этой задачи.

Пример: удалить первый и последний символы строки

 fun String.removeFirstLastChar(): String = this.substring(1, this.length - 1) fun main(args: Array) ( val myString= "Hello Everyone" val result = myString.removeFirstLastChar() println("First character is: $result") )

Когда вы запустите программу, вывод будет:

 Первый персонаж: Элло Эвлон

Здесь к классу ()добавляется функция расширения removeFirstLastChar String.

Имя класса - это тип получателя ( Stringв нашем примере это класс). thisКлючевое слово внутри функции расширения относится объект приемник.

Если вам нужно интегрировать Kotlin поверх Java-проекта, вам не нужно изменять весь код на Koltin. Просто используйте функции расширения, чтобы добавить функциональность.

При этом довольно легко злоупотребить возможностями функций расширения. Мы рекомендуем вам проверить эти ресурсы, чтобы узнать, когда использовать расширения, а когда нет:

  • Плохие ли методы расширения и свойства расширения?
  • Как злоупотреблять функциями расширения Kotlin?

Интересные статьи...