Sellest artiklist saate teada, kuidas laiendada funktsioone kasutades klassi uute funktsioonidega.
Oletame, et peate klassi laiendama uue funktsiooniga. Enamikus programmeerimiskeeltes tuletate kas uue klassi või kasutate selleks mingisugust kujundusmustrit.
Kuid Koltinis saate laiendusfunktsiooni kasutada ka klassi laiendamiseks uue funktsionaalsusega. Põhimõtteliselt on laiendusfunktsioon klassi liige, mis on määratletud väljaspool klassi.
Näiteks peate klassi String jaoks kasutama meetodit, mis tagastab uue stringi, mille esimene ja viimane märk on eemaldatud; see meetod pole String
klassis juba saadaval . Selle ülesande täitmiseks saate kasutada laiendusfunktsiooni.
Näide: eemaldage stringi esimene ja viimane märk
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") )
Programmi käivitamisel on väljund järgmine:
Esimene märk on: ello Everyon
Siin ()
lisatakse String
klassile laiendusfunktsioon removeFirstLastChar .
Klassi nimi on vastuvõtja tüüp ( String
meie näites klass). this
Laiendusfunktsiooni sees olev märksõna viitab vastuvõtja objektile.
Kui peate Kotlini integreerima Java-projekti ülaossa, ei pea te tervet koodi Koltiniks muutma. Funktsioonide lisamiseks kasutage lihtsalt laiendusfunktsioone.
Nagu öeldud, on laiendusfunktsioonide võimu kuritarvitamine üsna lihtne. Soovitame teil neid ressursse vaadata, et teada saada, millal laiendeid kasutada ja millal mitte.
- Kas pikendusmeetodid ja laienduse omadused on halvad?
- Kuidas Kotlini laienduse funktsioone kuritarvitada?