Функция-расширение для наследника не вызывается через переменную базового типа
open class Payment
class CardPayment : Payment()
fun Payment.label() = "Оплата"
fun CardPayment.label() = "Картой"
val payment: Payment = CardPayment()
println(payment.label())
Что напечатает код?
- Оплата
- Картой
- Ошибка компиляции: два расширения label
- Ошибка выполнения: неоднозначный вызов
