U ovom ćete članku naučiti proširiti razred novom funkcijom pomoću funkcija proširenja.
Pretpostavimo, morate proširiti razred novom funkcionalnošću. U većini programskih jezika ili izvodite novu klasu ili za to koristite nekakav obrazac dizajna.
Međutim, u Koltinu također možete koristiti funkciju proširenja za proširenje klase novom funkcionalnošću. U osnovi, funkcija proširenja je funkcija člana klase koja je definirana izvan klase.
Na primjer, trebate koristiti metodu klase String koja vraća novi niz s uklonjenim prvim i zadnjim znakom; ova metoda već nije dostupna u String
nastavi. Za postizanje ovog zadatka možete koristiti funkciju produženja.
Primjer: Uklonite prvi i posljednji 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") )
Kada pokrenete program, izlaz će biti:
Prvi lik je: ello Everyon
Ovdje ()
se u String
razred dodaje funkcija proširenja removeFirstLastChar .
Naziv klase je vrsta prijemnika ( String
klasa u našem primjeru). this
Ključne riječi unutar funkcije nastavkom odnosi prijemnik objekt.
Ako trebate integrirati Kotlin na vrh Java projekta, ne morate cijeli kod mijenjati u Koltin. Samo dodajte funkcije proširenja za dodavanje funkcionalnosti.
To je rečeno, vrlo je lako zloupotrijebiti moć proširenja. Preporučujemo vam da provjerite ove resurse da biste saznali kada koristiti proširenja, a kada ne:
- Jesu li metode produženja i svojstva proširenja loše?
- Kako zloupotrijebiti funkcije produženja Kotlina?