Что если у меня есть 4 данных интерфейса A, B, C и D и наследование выглядит следующим образом:
- B и C extends A
- D extends B и C
Цель состоит в том, чтобы реализовать эти интерфейсы без повторения какого-либо кода.
Мне кажется, я понимаю, что это своего рода проблема Diamond, но я не знаю, как для реализации.
Я бы решил это следующим образом: я бы написал 4 класса следующим образом:
class ClassA implements InterfaceA { }
class ClassB extends ClassA implements InterfaceB { }
class ClassC extends ClassA implements InterfaceC { }
class ClassD extends ClassA implements InterfaceD { }
Не полезно ли расширять реализованные классы PLUS, расширять интерфейсы? Интерфейсы предоставляются по контракту, и я должен их использовать.