jeggy
02/22/2024, 11:42 AMinterface Run {
fun printA()
fun printWith(value: String)
}
val DefaultRun = object: Run {
override fun printA() = printWith("value")
override fun printWith(value: String) = println("Hello with: $value")
}
class Custom: Run by DefaultRun {
override fun printWith(value: String) = println("Goodnight with: $value")
}
fun main() {
// Prints "Hello with: value"
// But I expected it to print "Goodnight with: value"
Custom().printA()
}
David Kubecka
02/22/2024, 11:47 AMYoussef Shoaib [MOD]
02/22/2024, 11:54 AMinterface Run {
fun printWith(value: String)
}
fun Run.printA() = printWith("value")
val DefaultRun = object: Run {
override fun printWith(value: String) = println("Hello with: $value")
}
class Custom: Run by DefaultRun {
override fun printWith(value: String) = println("Goodnight with: $value")
}
fun main() {
// Prints "Goodnight with: value"
Custom().printA()
}
jeggy
02/22/2024, 11:59 AM