English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основы Kotlin

Kotlin Управление потоком

Функции в Kotlin

Строки в Kotlin

Kotlin ООП (面向对象编程)

Расширяемые функции в Kotlin

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

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

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

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

Пример: Удаление первых и последних символов строки

fun String.removeFirstLastChar(): String = this.substring(1, this.length - 1)
fun main(args: Array<String>) {
    val myString = "Hello Everyone"
    val result = myString.removeFirstLastChar()
    println("Результат вывода: $result")
{}

При выполнении программы выводится:

Результат вывода: ello Everyon

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

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

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