1
0
Files
cpo-lab/src/Tool/Lawnmower.cs
2024-03-21 18:22:02 +03:00

50 lines
2.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/// <summary>
/// Газонокосилка
/// </summary>
public class Lawnmower : ElectricTool
{
/// <summary>
/// Объем топлива
/// </summary>
private float _fuelCapacity;
/// <summary>
/// Текущий уровень топлива
/// </summary>
private float _fuelLevel;
/// <summary>
/// Объем топлива
/// </summary>
public float FuelCapacity => _fuelCapacity;
/// <summary>
/// Текущий уровень топлива
/// </summary>
public float FuelLevel => _fuelLevel;
/// <summary>
/// Инициализирует новый экземпляр класса <see cref="Lawnmower"/> с указанным именем, материалом, весом, мощностью и объемом бензина
/// </summary>
/// <param name="name">Имя электроинструмента</param>
/// <param name="material">Материал электроинструмента</param>
/// <param name="weight">Вес электроинструмента. Должен быть больше нуля</param>
/// <param name="power">Мощность электроинструмента. Должна быть больше нуля</param>
/// <param name="fuelCapacity">Объем топлива. Должен быть больше нуля</param>
/// <exception cref="ArgumentException">Выбрасывается, когда вес меньше или равен нулю</exception>
/// <exception cref="ArgumentException">Выбрасывается, когда мощность равна нулю</exception>
/// <exception cref="ArgumentException">Выбрасывается, когда объем топлива равна нулю</exception>
public Lawnmower(string name, Material material, double weight, uint power, float fuelCapacity) : base(name, material, weight, power)
{
if (fuelCapacity <= 0)
throw new ArgumentException("Объем топлива не может быть меньше или равен нулю", nameof(fuelCapacity));
_fuelCapacity = fuelCapacity;
}
/// <summary>
/// Пополняет запас топлива до максимального уровня.
/// </summary>
public void Refuel()
{
_fuelLevel = _fuelCapacity;
}
}