|
|
|
|
|
by vips7L
8 days ago
|
|
and for Kotlin/Scala you can use some cheeky operator overloading via companion objects. sealed Interface A {
class B: A
class C: A
companion object {
operator fun invoke(s: String) = when (s) {
"B" -> B()
"C" -> C()
}
}
}
val a = A("B")
|
|