Funcția de extensie Kotlin (cu exemple)

Cuprins

În acest articol, veți învăța să extindeți o clasă cu funcționalități noi folosind funcții de extensie.

Să presupunem că trebuie să extindeți o clasă cu funcționalități noi. În majoritatea limbajelor de programare, fie obțineți o nouă clasă, fie utilizați un fel de model de design pentru a face acest lucru.

Cu toate acestea, în Koltin, puteți utiliza și funcția de extensie pentru a extinde o clasă cu funcționalități noi. Practic, o funcție de extensie este o funcție membru a unei clase care este definită în afara clasei.

De exemplu, trebuie să utilizați o metodă pentru clasa String care returnează un șir nou cu primul și ultimul caracter eliminate; această metodă nu este deja disponibilă în Stringclasă. Puteți utiliza funcția de extensie pentru a realiza această sarcină.

Exemplu: Eliminați primul și ultimul caracter al șirului

 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") )

Când rulați programul, ieșirea va fi:

 Primul personaj este: ello Everyon

Aici, o funcție de extensie removeFirstLastChar ()este adăugată la Stringclasă.

Numele clasei este tipul receptorului ( Stringclasa din exemplul nostru). Cuvântul thischeie din funcția de extensie se referă la obiectul receptor.

Dacă aveți nevoie să integrați Kotlin în partea de sus a proiectului Java, nu trebuie să modificați întregul cod în Koltin. Folosiți doar funcții de extensie pentru a adăuga funcționalități.

Acestea fiind spuse, este destul de ușor să abuzăm de puterea funcțiilor de extensie. Vă recomandăm să verificați aceste resurse pentru a afla când să utilizați extensiile și când să nu:

  • Metodele de extensie și proprietățile extensiei sunt rele?
  • Cum se abuzează de funcțiile de extensie Kotlin?

Articole interesante...