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