1
0
Files
cpo-lab/Tool/src/ManualTool.cs

46 lines
2.4 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 ManualTool : Tool
{
/// <summary>
/// Длина рукояти ручного инструмента в метрах
/// </summary>
private float _handleLength;
/// <summary>
/// Длина рукояти ручного инструмента в метрах
/// </summary>
public float HandleLength => _handleLength;
/// <summary>
/// Инициализирует новый экземпляр класса <see cref="ManualTool"/> с указанным именем, материалом, весом и мощностью
/// </summary>
/// <param name="parName">Название ручного инструмента</param>
/// <param name="parMaterial">Материал ручного инструмента</param>
/// <param name="parWeight">Вес ручного инструмента в граммах</param>
/// <param name="parHandleLength">Длина рукояти ручного инструмента в метрах. Должна быть больше нуля</param>
/// <exception cref="ArgumentException">Выбрасывается, когда вес меньше или равен нулю</exception>
/// <exception cref="ArgumentException">Выбрасывается, когда длина рукояти меньше или равна нулю</exception>
public ManualTool(string parName, Material parMaterial, double parWeight, float parHandleLength) : base(parName, parMaterial, parWeight)
{
if (parHandleLength <= 0)
throw new ArgumentException("Длина рукояти не может быть меньше или равна нулю", nameof(parHandleLength));
_handleLength = parHandleLength;
}
/// <summary>
/// Заменяет рукоять на новую другой длины
/// </summary>
/// <param name="parNewHandleLength">Новая длина рукоятки. Должна быть больше нуля</param>
/// <exception cref="ArgumentException">Выбрасывается, когда новая длина рукоятки меньше или равна нулю</exception>
public void SwitchHandle(float parNewHandleLength)
{
if (parNewHandleLength <= 0)
throw new ArgumentException("Длина рукояти не может быть меньше или равна нулю", nameof(parNewHandleLength));
_handleLength = parNewHandleLength;
}
}