Functional (SAM) Interfaces Flashcards
1
Q
Que es SAM?
A
Single abstract member interface. Interfaz que puede tener muchos non abstract members pero solo uno abstract. Se utiliza la keyword ‘fun’
fun interface ParOImpar{ fun comprobacion(i:Int): Boolean }
2
Q
Que ventaja tiene usar lambdas con SAM?
A
Nos evita mucho boilerplate ya que en vez de tener que sobreescribir el metodo podemos usar una lambda de la siguiente manera. Kotlin crea de esta manera un objeto que hereda de la functional interface o SAM de manera automatica
```kotlin
fun interface ParOImpar{
fun comprobacion(i:Int): Boolean
}
val isEven = ParOImpar {it % 2 == 0}
fun main(){ println("El 7 es par? - ${isEven.comprobacion(7)}") }
~~~