V tomto článku se naučíte rozšířit třídu o nové funkce pomocí rozšiřujících funkcí.
Předpokládejme, že musíte rozšířit třídu o nové funkce. Ve většině programovacích jazyků buď odvodíte novou třídu, nebo k tomu použijete nějaký návrhový vzor.
V Koltinu však můžete také použít funkci rozšíření k rozšíření třídy o nové funkce. V zásadě je funkce rozšíření členskou funkcí třídy, která je definována mimo třídu.
Například musíte použít metodu třídy String, která vrací nový řetězec s odstraněným prvním a posledním znakem; tato metoda již není ve String
třídě k dispozici . K provedení tohoto úkolu můžete použít funkci rozšíření.
Příklad: Odeberte první a poslední znak řetězce
fun String.removeFirstLastChar(): String = this.substring(1, this.length - 1) fun main(args: Array) ( val myString= "Hello Everyone" val result = myString.removeFirstLastChar() println("First character is: $result") )
Když spustíte program, výstup bude:
První postava je: ello Everyon
Zde ()
je do String
třídy přidána funkce rozšíření removeFirstLastChar .
Název třídy je typ přijímače ( String
v našem příkladu třída). this
Klíčové slovo uvnitř funkce prodloužení se týká objektu přijímače.
Pokud potřebujete integrovat Kotlin do horní části projektu Java, nemusíte upravovat celý kód na Koltin. K přidání funkcí stačí použít rozšiřující funkce.
Jak již bylo řečeno, je docela snadné zneužít sílu funkcí rozšíření. Doporučujeme vám zkontrolovat tyto zdroje, abyste se dozvěděli, kdy použít rozšíření a kdy ne:
- Jsou metody rozšíření a vlastnosti rozšíření špatné?
- Jak zneužít funkce rozšíření Kotlin?