Например, если у меня есть такой интерфейс:
interface MyInterface {
fun thouMustImplementThis()
}
И у меня есть класс MyClass
, который реализует MyInterface
, что означает, что я должен создать переопределение для функции:
class MyClass : View, MyInterface {
override fun thouMustImplementThis() {
println ("Hello world")
}
}
Возможно ли, если у меня есть другой интерфейс, который реализует функцию:
interface YourInterface {
fun thouMustImplementThis() {
println ("Hello Stack Overflow")
}
}
Так что я могу опустить реализацию из моего класса:
class MyClass : View, MyInterface, YourInterface {
}
Но я обнаружил, что мне все еще нужно реализовать функцию, хотя мне нужно только добавить вызов к ее версии суперфункции.
class MyClass : View, MyInterface, YourInterface {
override fun thouMustImplementThis() {
super.thouMustImplementThis()
}
}
а я этого не хочу.
Дело в том, что я хочу создать некую реализацию по умолчанию для некоторых нативных интерфейсов, чтобы мне не приходилось переопределять их каждый раз, когда я создаю класс на основе этих интерфейсов. Я думал, что, сделав его интерфейсом, я могу «прикрепить» реализацию так, как мне нужно. Есть ли обходной путь для этого?