Список интерфейсного типа в C#
Список интерфейсного типа собирает разные реализации одного контракта. В цикле вызывают общий метод, не зная конкретный класс элемента.
Запишем список фигур по контракту IFigure
и выведем площади:
var figures = new List<IFigure>();
figures.Add(new Circle(2));
figures.Add(new Square(5));
foreach (IFigure figure in figures)
{
Console.WriteLine(figure.Area());
}
interface IFigure
{
int Area();
}
class Circle : IFigure
{
public int Radius;
public Circle(int radius)
{
Radius = radius;
}
public int Area()
{
return 3 * Radius * Radius;
}
}
class Square : IFigure
{
public int Side;
public Square(int side)
{
Side = side;
}
public int Area()
{
return Side * Side;
}
}
Сделайте интерфейс IPrintable с методом PrintLine.
Создайте List<IPrintable>,
положите в него два разных класса-реализации
и выведите текст из каждого элемента в цикле.