Скажем, что у меня есть абстрактный базовый класс, что-то простое, например
abstract class Item : IDisplayable
{
public int Id { get; set; }
public string Name { get; set; }
public abstract void Print();
}
и у меня есть класс, который наследуется от того, что нравится
class Chair: Item
{
public int NumberOfLegs {get;set;}
public void Print()
{
Console.WriteLine("Here is a simple interface implementation");
}
}
interface IDisplayable
{
void Print();
}
дочерний класс явно не говорит, что он также реализует интерфейс, и все же он будет делать это через простое наследование. Если мы явно добавим интерфейс в дочерние классы, программа будет работать одинаково (по крайней мере, насколько я могу судить по моим простым примерам). Было бы явно реализовать интерфейс хорошей или плохой идеей, или это строго вопрос предпочтения?