Наследование интерфейсов в C#
Интерфейс может наследовать другие интерфейсы. Производный контракт объединяет обязанности родительских интерфейсов.
Класс, который реализует такой интерфейс, должен описать все методы и свойства из всей цепочки. Запишем расширенный контракт:
interface IDrawable
{
void Draw();
}
interface IColored : IDrawable
{
string Color { get; set; }
}
class Badge : IColored
{
public string Color { get; set; } = "";
public void Draw()
{
Console.WriteLine(Color);
}
}
Создадим значок, зададим цвет и выведем его:
var badge = new Badge { Color = "red" };
badge.Draw();
Сделайте интерфейс IReadable с методом Read
и интерфейс IEditable, наследующий IReadable
и добавляющий метод Edit.
Сделайте класс Note, реализующий IEditable.