namespace MindBox.Lib;
///
/// Абстрактный класс, реализующий интерфейс двумерной фигуры.
/// Посчитал нужным создать отдельный абстрактный класс, это более гибкое решение.
/// Такой класс можно расширить другими интерфейсами, например IColorful - контракт для методов получения и/или изменения цвета фигуры.
/// Прочие интерфейсы могут быть применимы не только к двумерным фигурам
///
public abstract class FlatShape : ITwoDimensional
{
///
/// Поле для хранения вычисляемого значения площади.
/// Вычисляем значение только один раз.
///
protected double? _area;
public abstract double GetArea();
}