Kotlini laiendusfunktsioon (koos näidetega)

Lang L: none (table-of-contents)

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 Stringklassis 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 Stringklassile laiendusfunktsioon removeFirstLastChar .

Klassi nimi on vastuvõtja tüüp ( Stringmeie näites klass). thisLaiendusfunktsiooni 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?

Huvitavad Artiklid...