/// /// Газонокосилка /// public class Lawnmower : ElectricTool { /// /// Объем топлива /// private float _fuelCapacity; /// /// Текущий уровень топлива /// private float _fuelLevel; /// /// Объем топлива /// public float FuelCapacity { get => _fuelCapacity; set { if (value <= 0) throw new ArgumentException("Объем топлива не может быть меньше или равен нулю", nameof(FuelCapacity)); _fuelCapacity = value; } } /// /// Текущий уровень топлива /// public float FuelLevel => _fuelLevel; /// /// Инициализирует новый экземпляр класса с указанным именем, материалом, весом, мощностью и объемом бензина /// /// Имя электроинструмента /// Материал электроинструмента /// Вес электроинструмента. Должен быть больше нуля /// Мощность электроинструмента. Должна быть больше нуля /// Объем топлива. Должен быть больше нуля /// Выбрасывается, когда вес меньше или равен нулю /// Выбрасывается, когда мощность равна нулю /// Выбрасывается, когда объем топлива равна нулю public Lawnmower(string parName, Material parMaterial, double parWeight, uint parPower, float parFuelCapacity) : base(parName, parMaterial, parWeight, parPower) { if (parFuelCapacity <= 0) throw new ArgumentException("Объем топлива не может быть меньше или равен нулю", nameof(parFuelCapacity)); _fuelCapacity = parFuelCapacity; } /// /// Пополняет запас топлива до максимального уровня. /// public void Refuel() { _fuelLevel = _fuelCapacity; } /// /// Клонирует газонокосилку /// /// Клоннированная газонокосилка public override object Clone() { var lawnmower = new Lawnmower(Name, Material, Weight, Power, FuelCapacity) { _fuelLevel = FuelLevel }; return lawnmower; } }