Sobes.tech
Junior — Middle

Jak jsou rozšiřující funkce implementovány a používány v Kotlinu?

sobes.tech AI

Odpověď od AI

V Kotlinu umožňují rozšiřující funkce přidávat nové funkce stávajícím třídám bez nutnosti dědičnosti nebo změny zdrojového kódu třídy. Jsou deklarovány mimo třídu pomocí syntaxe fun ReceiverType.názevFunkce(). Uvnitř rozšiřující funkce odkazuje this na cílový objekt.

Příklad:

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

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

Rozšiřující funkce jsou užitečné pro přidání pomocných funkcí a zlepšení čitelnosti kódu, zejména při práci s knihovními třídami. Jsou volány jako běžné metody objektu, ale ve skutečnosti jsou to statické funkce s prvním parametrem jako cílový objekt.