Sobes.tech
Back to questions
Junior — Middle
91

Как было реализовано добавление методов к существующим классам в Kotlin при помощи расширений?

Companies where asked
ДзенДзен

Answer from AI

sobes.tech AI

В Kotlin добавление методов к существующим классам реализовано через механизм расширений (extension functions). Это позволяет "расширять" классы новыми функциями без необходимости наследования или изменения исходного кода класса.

Расширения объявляются вне класса с указанием типа, к которому они добавляются, и выглядят как обычные функции, но с приемником (receiver) — объектом расширяемого типа.

Пример расширения для класса String:

fun String.lastChar(): Char = this[this.length - 1]

val c = "Kotlin".lastChar() // 'n'

Таким образом, расширения позволяют вызывать новые методы как будто они являются частью класса, что удобно для улучшения читаемости и организации кода, особенно при работе с библиотеками и API, где нельзя изменить исходный класс.