Как указано в заголовке: Почему возможно игнорировать значения по умолчанию в переопределенных функциях-членах подтипов?
Является ли это нормальным или ожидаемым?
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
Такое поведение в случае, когда Foo
является классом.