С учетом следующего кода:
public interface IExample { ... }
public abstract class BaseExample: IExample { ... }
public class ExampleA : BaseExample { ... }
public class ExampleB : BaseExample, IExample { ... }
Есть ли какие-либо преимущества или недостатки в написании кода, такого как ExampleB?
Я предполагаю, что повторное указание IExample в производном классе ExampleB является излишним. Я ошибся? Я думал, что производные классы неявно наследуют все интерфейсы, реализованные их базовыми типами?
В настоящее время мы пишем такие вещи, как ExampleB, но меня начинает беспокоить, насколько многословными становятся некоторые реализации наших производных классов. Другой разработчик говорит, что это хорошо, потому что он лучше объявляет намерения класса и делает код более читабельным. Но для меня это становится грязным.