Множественное наследование и зависимости в Kotlin

Прошу совет.

/** Kotlin */

interface IBase

interface I1 : IBase
interface I2 : IBase

class C1 : IBase, I1, I2

Как видно, от интерфейса IBasе наследуются оба интерфейса и класс. Если я уберу IBase из предков класса C1, то ничего не изменится, т.к. через цепочку зависимостей (IBase -> I1 или I2 -> C1) класс все равно получит доступ к методам IBase. Но я не хотел бы этого делать.

Чем плох такой подход? Если он плох, то как скорректировать код?


Ответы (1 шт):

Автор решения: Commander Tvis

Вам остается только спроектировать эту иерархию наследования так, чтобы I1 и I2 не наследовались от IBase.

Избежать при реализации интерфейса реализацию всех его суперинтерфейсов нельзя.

→ Ссылка