Scala Language
Pojedyncze typy metod abstrakcyjnych (typy SAM)
Szukaj…
Uwagi
Pojedyncze metody abstrakcyjne to typy wprowadzone w Javie 8 , które mają dokładnie jednego abstrakcyjnego elementu.
Składnia Lambda
UWAGA: Jest to dostępne tylko w Scali 2.12+ (oraz w najnowszych wersjach 2.11.x z -Xexperimental -Xfuture
kompilatora -Xexperimental -Xfuture
)
Typ SAM można zaimplementować za pomocą lambda:
2.11.8
trait Runnable {
def run(): Unit
}
val t: Runnable = () => println("foo")
Typ może opcjonalnie mieć inne elementy nieabstrakcyjne:
2.11.8
trait Runnable {
def run(): Unit
def concrete: Int = 42
}
val t: Runnable = () => println("foo")
Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow