Por que é possível omitir valores padrão nas funções de membro substituídas dos subtipos?
Assim como indicado no título: Por que é possível omitir valores padrão nas funções-membro substituídas dos subtipos?
É istonormal ou para ser esperado?
interface Foo {
fun bar(parameter: Int = 1)
}
class Baz : Foo {
override fun bar(parameter: Int) { // OK
println(parameter)
}
}
val baz = Baz()
baz.bar() // OK
baz.bar(2) // OK
O mesmo comportamento no caso em queFoo
é uma classe.