Kotlin-udvidelsesfunktion (med eksempler)

Indholdsfortegnelse

I denne artikel lærer du at udvide en klasse med ny funktionalitet ved hjælp af udvidelsesfunktioner.

Antag, at du skal udvide en klasse med ny funktionalitet. På de fleste programmeringssprog udleder du enten en ny klasse eller bruger en form for designmønster til at gøre dette.

I Koltin kan du dog også bruge udvidelsesfunktionen til at udvide en klasse med ny funktionalitet. Dybest set er en udvidelsesfunktion en medlemsfunktion i en klasse, der er defineret uden for klassen.

For eksempel skal du bruge en metode til klassen String, der returnerer en ny streng med første og sidste tegn fjernet; denne metode er ikke allerede tilgængelig i Stringklassen. Du kan bruge udvidelsesfunktionen til at udføre denne opgave.

Eksempel: Fjern første og sidste karakter af streng

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

Når du kører programmet, vil output være:

 Første karakter er: hallo Everyon

Her ()tilføjes en udvidelsesfunktion removeFirstLastChar til Stringklassen.

Klassens navn er modtagertypen ( Stringklasse i vores eksempel). Den thissøgeord inde i forlængelsen funktionen refererer modtageren objekt.

Hvis du har brug for at integrere Kotlin øverst i Java-projektet, behøver du ikke ændre hele koden til Koltin. Brug bare udvidelsesfunktioner til at tilføje funktioner.

Når det er sagt, er det ret nemt at misbruge styrken i udvidelsesfunktioner. Vi anbefaler dig at kontrollere disse ressourcer for at lære, hvornår du skal bruge udvidelser, og hvornår du ikke skal:

  • Er udvidelsesmetoder og udvidelsesegenskaber dårlige?
  • Hvordan misbruges Kotlin-udvidelsesfunktioner?

Interessante artikler...