Kotlin kiterjesztés funkció (példákkal)

Tartalomjegyzék

Ebben a cikkben megtanulod kibővíteni egy osztályt új funkciókkal a kiterjesztési függvények használatával.

Tegyük fel, hogy egy osztályt új funkciókkal kell kibővítenie. A legtöbb programozási nyelvben vagy új osztályt vezet le, vagy valamilyen tervezési mintát használ erre.

A Koltinban azonban a kiterjesztés funkciót is használhatja egy osztály új funkciókkal való kibővítésére. Alapvetően a kiterjesztési függvény egy osztály tagfüggvénye, amelyet az osztályon kívül definiálnak.

Például egy metódust kell használnia a String osztály számára, amely új karakterláncot ad vissza, az első és az utolsó karaktert eltávolítva; ez a módszer még nem érhető el az Stringosztályban. A kiterjesztés funkcióval elvégezheti ezt a feladatot.

Példa: Távolítsa el a karakterlánc első és utolsó karakterét

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

A program futtatásakor a kimenet a következő lesz:

 Az első karakter: ello Everyon

Itt ()hozzáadódik az Stringosztályhoz az removeFirstLastChar kiterjesztés funkció .

Az osztály neve a vevő típusa ( Stringa példánkban osztály). A thiskiterjesztés funkcióban lévő kulcsszó a vevő objektumra utal.

Ha integrálnia kell Kotlint a Java-projekt tetejére, akkor nem kell a teljes kódot Koltin-ra módosítania. A funkciók hozzáadásához csak a kiterjesztési funkciókat használja.

Ennek ellenére meglehetősen könnyű visszaélni a kiterjesztési funkciók hatalmával. Javasoljuk, hogy ellenőrizze ezeket az erőforrásokat, hogy megtudja, mikor kell használni a bővítményeket, és mikor nem:

  • Rosszak a kiterjesztési módszerek és a kiterjesztés tulajdonságai?
  • Hogyan lehet visszaélni a Kotlin kiterjesztés funkcióival?

érdekes cikkek...