@ wdc answer правильно, решение имеет несколько меньших интерфейсов и, вероятно, наиболее совместимо с ISP .
Базовый класс будет реализовывать Interface1, Derived-Class будет расширять Base-Class и явно реализовывать Interface2, поэтому он реализует оба, так как получает другой производный. В зависимости от вашего языка, Interface2 может даже расширить Interface1.
Я просто хочу добавить, что вы могли бы также создать базовый класс abstract
и не должны были бы реализовывать все методы Interfaces. Но тогда, конечно, вы больше не сможете его воспроизвести.