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