Junior — Middle
Можете ли да обясните концепцията за разширяващи функции в езика Kotlin?
sobes.tech AI
Отговор от AI
Разширяващите функции в Kotlin позволяват добавянето на нови функции към съществуващи класове без необходимост от наследяване или промяна на изходния код на класа.
Това се постига чрез специален синтаксис, при който функцията се обявява извън класа, но с тип получател, който "разширява" функционалността.
Пример за разширяваща функция за класа String:
fun String.isPalindrome(): Boolean {
return this == this.reversed()
}
fun main() {
val word = "level"
println(word.isPalindrome()) // Ще изведе: true
}
По този начин, разширяващите функции позволяват да пишете по-изразителен и лесен за четене код, добавяйки методи към класове, дори ако нямате достъп до техния изходен код.