Kotlin-uitbreidingsfunctie (met voorbeelden)

Inhoudsopgave

In dit artikel leer je hoe je een klas kunt uitbreiden met nieuwe functionaliteit met behulp van uitbreidingsfuncties.

Stel dat u een klasse moet uitbreiden met nieuwe functionaliteit. In de meeste programmeertalen leidt u ofwel een nieuwe klasse af of gebruikt u een of ander ontwerppatroon om dit te doen.

In Koltin kunt u echter ook de extensiefunctie gebruiken om een ​​klasse uit te breiden met nieuwe functionaliteit. In feite is een extensiefunctie een lidfunctie van een klasse die buiten de klasse is gedefinieerd.

U moet bijvoorbeeld een methode gebruiken voor de klasse String die een nieuwe string retourneert waarvan het eerste en laatste teken zijn verwijderd; deze methode is nog niet beschikbaar in de Stringklas. U kunt de extensiefunctie gebruiken om deze taak uit te voeren.

Voorbeeld: verwijder het eerste en laatste teken van een tekenreeks

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

Wanneer u het programma uitvoert, is de uitvoer:

 Het eerste karakter is: ello Everyon

Hier wordt een extensiefunctie removeFirstLastChar ()aan de Stringklasse toegevoegd .

De klassenaam is het ontvangertype ( Stringklasse in ons voorbeeld). Het thissleutelwoord in de extensiefunctie verwijst naar het ontvangerobject.

Als u Kotlin bovenaan het Java-project moet integreren, hoeft u niet de hele code naar Koltin te wijzigen. Gebruik gewoon extensiefuncties om functionaliteiten toe te voegen.

Dat gezegd hebbende, is het vrij eenvoudig om de kracht van uitbreidingsfuncties te misbruiken. We raden u aan om deze bronnen te raadplegen om te zien wanneer u extensies moet gebruiken en wanneer niet:

  • Zijn uitbreidingsmethoden en extensie-eigenschappen slecht?
  • Hoe de Kotlin-uitbreidingsfuncties te misbruiken?

Interessante artikelen...