не переопределяемым? Например:
interface MyInterface {
// как-то сделать так чтобы этот метод нельзя было переопределить
// в реализациях, т.е. чтобы всегда использовалась default реализация из интерфейса?
fun foo() {
// do default stuff
}
}
?
А какая итоговая задача? единственное решение которое приходит в голову это найти или написать процессор аннотаций который будет за этим следить (но это сложное и странное решение)
Ну вот задача как раз в том чтобы иметь какой-то набор таких интерфейсов с разными реализациями по-умолчанию чтобы потом их можно было навешивать на классы как своего рода трейты.
Пока что получилось только такое придумать - вместо методов поля с типами классов без потомков и с оператором invoke. Но если в трейте больше одного метода и им нужно меняться данными то проблема https://pl.kotl.in/YmvGocF1H
Я понял, неплохой workaround буду иметь ввиду, спасибо :)
Можно ещё extension method сделать на интерфейсе
Обсуждают сегодня