V tem članku se boste naučili razširiti razred z novo funkcionalnostjo z uporabo razširitvenih funkcij.
Recimo, da morate razred razširiti z novo funkcionalnostjo. V večini programskih jezikov izpeljete nov razred ali za to uporabite nekakšen oblikovalski vzorec.
V Koltinu pa lahko funkcijo razširitve uporabite tudi za razširitev razreda z novo funkcionalnostjo. V bistvu je funkcija razširitve funkcija člana, ki je definirana zunaj razreda.
Na primer, morate uporabiti metodo za razred String, ki vrne nov niz z odstranjenim prvim in zadnjim znakom; ta metoda v String
razredu še ni na voljo . Za to nalogo lahko uporabite funkcijo razširitve.
Primer: Odstrani prvi in zadnji znak niza
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") )
Ko zaženete program, bo rezultat:
Prvi lik je: ello Everyon
Tu ()
je String
razredu dodana funkcija razširitve removeFirstLastChar .
Ime razreda je vrsta sprejemnika ( String
razred v našem primeru). Ključna this
beseda znotraj funkcije razširitve se nanaša na objekt sprejemnika.
Če morate Kotlin integrirati na vrh Java projekta, vam ni treba spremeniti celotne kode v Koltin. Za dodajanje funkcij uporabite funkcije razširitve.
Kot rečeno, je zelo enostavno zlorabiti moč razširitvenih funkcij. Priporočamo, da si ogledate te vire, če želite izvedeti, kdaj uporabljati razširitve in kdaj ne:
- Ali so metode razširitve in lastnosti razširitve slabe?
- Kako zlorabiti razširitvene funkcije Kotlin?