Попытка выяснить с Котлин в прошлые дни, прочитал документ и нашел один пример. В нижней части article:Наследование в Котлине
interface A {
fun foo() { print("A") }
fun bar()
}
interface B {
fun foo() { print("B") }
fun bar() { print("bar") }
}
class C : A {
override fun bar() { print("bar") }
}
class D : A, B {
override fun foo() {
super<A>.foo()
super<B>.foo()
}
}
Теперь, если мы получим конкретный класс С из А, мы, очевидно, должны переопределить бар() и обеспечить реализацию. И если мы выводим D из A и B, , нам не нужно переопределять bar(), потому что мы унаследовали только одну его реализацию.
Я пытался сделать это, но IDE подчеркивает, что я должен переопределить строку() функцию из класса, потому что D класс наследует несколько методов интерфейса из панели()
Update: Kotlin issue-tracker.
Какой вопрос вы задаете? –
@AndrewOrobator, ошибка в статье, или я делаю что-то неправильно? –
Похоже, в этой статье есть ошибка. См. Мой ответ ниже –