I denne artikkelen vil du lære å utvide en klasse med ny funksjonalitet ved hjelp av utvidelsesfunksjoner.
Anta at du må utvide en klasse med ny funksjonalitet. I de fleste programmeringsspråk kan du enten utlede en ny klasse eller bruke et slags designmønster for å gjøre dette.
I Koltin kan du imidlertid også bruke utvidelsesfunksjon for å utvide en klasse med ny funksjonalitet. I utgangspunktet er en utvidelsesfunksjon en medlemsfunksjon i en klasse som er definert utenfor klassen.
For eksempel må du bruke en metode til String-klassen som returnerer en ny streng med første og siste tegn fjernet; denne metoden er ikke allerede tilgjengelig i String
klassen. Du kan bruke utvidelsesfunksjonen for å utføre denne oppgaven.
Eksempel: Fjern første og siste karakter av 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 kjører programmet, vil utdataene være:
Første karakter er: hallo Everyon
Her ()
legges en utvidelsesfunksjon removeFirstLastChar til i String
klassen.
Klassenavnet er mottakertypen ( String
klasse i vårt eksempel). Den this
ordet inne i forlengelsesfunksjon refererer mottakeren objektet.
Hvis du trenger å integrere Kotlin på toppen av Java-prosjektet, trenger du ikke endre hele koden til Koltin. Bare bruk utvidelsesfunksjoner for å legge til funksjoner.
Når det er sagt, er det ganske enkelt å misbruke makten til utvidelsesfunksjoner. Vi anbefaler deg å sjekke disse ressursene for å lære om når du skal bruke utvidelser og når du ikke skal:
- Er utvidelsesmetoder og utvidelsesegenskaper dårlige?
- Hvordan misbruke Kotlin-utvidelsesfunksjoner?