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

48 lines
1.8 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 Trimmer : ElectricTool
{
/// <summary>
/// Режим работы
/// </summary>
private TrimmerMode _mode;
/// <summary>
/// Режим работы
/// </summary>
public TrimmerMode Mode { get => _mode; set => ChangeMode(value); }
/// <summary>
/// Инициализирует новый экземпляр класса <see cref="Trimmer"/> с указанным именем, материалом, весом и мощностью
/// </summary>
/// <param name="parName">Имя электроинструмента</param>
/// <param name="parMaterial">Материал электроинструмента</param>
/// <param name="parWeight">Вес электроинструмента. Должен быть больше нуля</param>
/// <param name="parPower">Мощность электроинструмента. Должна быть больше нуля</param>
/// <exception cref="ArgumentException">Выбрасывается, когда вес меньше или равен нулю</exception>
/// <exception cref="ArgumentException">Выбрасывается, когда мощность равна нулю</exception>
public Trimmer(string parName, Material parMaterial, double parWeight, uint parPower) : base(parName, parMaterial, parWeight, parPower)
{
_mode = TrimmerMode.Normal;
}
/// <summary>
/// Изменяет режим работы обрезки
/// </summary>
/// <param name="parMode">Новый режим обрезки, который нужно установить</param>
public void ChangeMode(TrimmerMode parMode)
{
_mode = parMode;
}
public override object Clone()
{
var trimmer = new Trimmer(Name, Material, Weight, Power)
{
_mode = Mode
};
return trimmer;
}
}