Sobes.tech
Junior — Middle

Jak zaimplementować i używać funkcji rozszerzeń w Kotlinie?

sobes.tech AI

Odpowiedź od AI

W Kotlinie funkcje rozszerzające pozwalają na dodanie nowych funkcji do istniejących klas bez konieczności dziedziczenia lub modyfikowania kodu źródłowego klasy. Są one deklarowane poza klasą za pomocą składni fun ReceiverType.nazwaFunkcji(). Wewnątrz funkcji rozszerzającej this odnosi się do obiektu odbiorcy.

Przykład:

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

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

Funkcje rozszerzające są przydatne do dodawania narzędzi i poprawy czytelności kodu, szczególnie podczas pracy z klasami bibliotecznymi. Są wywoływane jak zwykłe metody obiektu, ale w rzeczywistości są to funkcje statyczne z pierwszym parametrem będącym obiektem odbiorcy.