Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
|
kotlin [2025/01/07 18:43] enric_mieza_sanchez |
kotlin [2026/01/04 13:52] (actual) enric_mieza_sanchez |
||
|---|---|---|---|
| Línia 219: | Línia 219: | ||
| \\ | \\ | ||
| - | ====== static => companion object | + | ===== Objectes |
| - | Les variables i funcions estàtiques dins de classes son variables que estan definides abans d'instanciar cap objecte. Es poden utilitzar, entre d'altres usos, per a implementar patrons de com Factory o Singleton. | + | Els constructors es defineixen amb la paraula '' |
| - | En Kotlin es defineixen dins l' | + | Les **variables i funcions estàtiques** dins de classes son variables que estan definides abans d' |
| + | |||
| + | En Kotlin es defineixen dins l' | ||
| <code kotlin> | <code kotlin> | ||
| class MyClass { | class MyClass { | ||
| + | private val a = 1 | ||
| + | | ||
| + | constructor(valor: | ||
| + | this.a = valor | ||
| + | } | ||
| + | |||
| companion object { | companion object { | ||
| private val myStaticVar = 10 | private val myStaticVar = 10 | ||
| + | | ||
| fun myStaticFunction() { | fun myStaticFunction() { | ||
| // ... | // ... | ||
| - | } | + | } |
| } | } | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ===== Llistes i Arrays ===== | ||
| + | |||
| + | Per inicialitzar una llista i iterar-la es pot fer de la següent manera: | ||
| + | |||
| + | <code kotlin> | ||
| + | val llista = mutableListOf(" | ||
| + | llista.add(" | ||
| + | for( elem in llista ) { | ||
| + | println( elem ) | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ===== this i this@class ===== | ||
| + | |||
| + | El '' | ||
| + | |||
| + | Si volem apuntar a un altre objecte aniuat ho podem fer amb @ | ||
| + | |||
| + | Si en Java teniem: | ||
| + | |||
| + | <code java> | ||
| + | class Fora { | ||
| + | class Dintre { | ||
| + | private void fes_algo() { | ||
| + | //... | ||
| + | crida_externa( Fora.this ); | ||
| + | //... | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | En Kotlin tindrem: | ||
| + | |||
| + | <code kotlin> | ||
| + | class Fora { | ||
| + | class Dintre { | ||
| + | private fun fes_algo() { | ||
| + | //... | ||
| + | crida_externa( this@Fora ); | ||
| + | //... | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | El cas més típic en Android és: '' | ||
| + | |||