4520 shaares
1 résultat
taggé
oriented
Je n'avais jamais fait attention au fait que les extensions de fonctions se greffaient aux déclarations de contextes (mot clef with
en Kotlin).
De ce fait, il est possible de disposer d'une classe A avec uniquement des attributs, de la décorer avec une autre classe B, et d'ajouter des méthodes à la classe A seulement si la classe B la décore.
Exemple tiré de l'article :
class B
class A{
fun B.doBSomething(){}
}
fun main(){
val a = A()
val b = B()
with(a){
b.doBSomething() // this will work
}
b.doBSomething() // won't compile
}