diff --git a/Tool/src/ElectricTool.cs b/Tool/src/ElectricTool.cs
index 38c9713..e8a5310 100644
--- a/Tool/src/ElectricTool.cs
+++ b/Tool/src/ElectricTool.cs
@@ -11,7 +11,17 @@ public class ElectricTool : Tool
///
/// Мощность электроинструмента
///
- public uint Power => _power;
+ public uint Power
+ {
+ get => _power;
+ set
+ {
+ if (value == 0)
+ throw new ArgumentException("Мощность не может быть равна нулю", nameof(Power));
+
+ _power = value;
+ }
+ }
///
/// Инициализирует новый экземпляр класса с указанным именем, материалом, весом и мощностью
diff --git a/Tool/src/Lawnmower.cs b/Tool/src/Lawnmower.cs
index 80b3261..3514344 100644
--- a/Tool/src/Lawnmower.cs
+++ b/Tool/src/Lawnmower.cs
@@ -15,7 +15,17 @@ public class Lawnmower : ElectricTool
///
/// Объем топлива
///
- public float FuelCapacity => _fuelCapacity;
+ public float FuelCapacity
+ {
+ get => _fuelCapacity;
+ set
+ {
+ if (value <= 0)
+ throw new ArgumentException("Объем топлива не может быть меньше или равен нулю", nameof(FuelCapacity));
+
+ _fuelCapacity = value;
+ }
+ }
///
/// Текущий уровень топлива
///
diff --git a/Tool/src/ManualTool.cs b/Tool/src/ManualTool.cs
index 4f53957..9499298 100644
--- a/Tool/src/ManualTool.cs
+++ b/Tool/src/ManualTool.cs
@@ -11,7 +11,7 @@ public class ManualTool : Tool
///
/// Длина рукояти ручного инструмента в метрах
///
- public float HandleLength => _handleLength;
+ public float HandleLength { get => _handleLength; set => SwitchHandle(value); }
///
/// Инициализирует новый экземпляр класса с указанным именем, материалом, весом и мощностью
diff --git a/Tool/src/Scissors.cs b/Tool/src/Scissors.cs
index f690548..4b376a7 100644
--- a/Tool/src/Scissors.cs
+++ b/Tool/src/Scissors.cs
@@ -8,7 +8,17 @@ public class Scissors : ManualTool
///
/// Размер лезвия ножниц.
///
- public double BladeSize => _bladeSize;
+ public double BladeSize
+ {
+ get => _bladeSize;
+ set
+ {
+ if (value <= 0.0)
+ throw new ArgumentException("Длина лезвия не может быть меньше или равна нулю", nameof(BladeSize));
+
+ _bladeSize = value;
+ }
+ }
///
/// Инициализирует новый экземпляр класса с указанными параметрами.
diff --git a/Tool/src/Scythe.cs b/Tool/src/Scythe.cs
index dd5d213..1987fdf 100644
--- a/Tool/src/Scythe.cs
+++ b/Tool/src/Scythe.cs
@@ -11,7 +11,7 @@ public class Scythe : ManualTool
///
/// Тип лезвия
///
- public BladeType BladeType => _bladeType;
+ public BladeType BladeType { get => _bladeType; set => SwitchBlade(value); }
///
/// Создает новый экземпляр класса
diff --git a/Tool/src/Tool.cs b/Tool/src/Tool.cs
index 68ea476..0b87c7c 100644
--- a/Tool/src/Tool.cs
+++ b/Tool/src/Tool.cs
@@ -28,7 +28,7 @@ public class Tool
///
/// Название инструмента
///
- public string Name => _name;
+ public string Name { get => _name; set => _name = value; }
///
/// Материал инструмента
///
@@ -36,7 +36,17 @@ public class Tool
///
/// Вес инструмента
///
- public double Weight => _weight;
+ public double Weight
+ {
+ get => _weight;
+ set
+ {
+ if (value <= 0)
+ throw new ArgumentException("Вес инструмента не может быть меньше или равен нулю", nameof(Weight));
+
+ _weight = value;
+ }
+ }
///
/// Инициализирует новый экземпляр класса .
@@ -48,9 +58,7 @@ public class Tool
public Tool(string parName, Material parMaterial, double parWeight)
{
if (parWeight <= 0)
- {
throw new ArgumentException("Вес инструмента не может быть меньше или равен нулю", nameof(parWeight));
- }
_name = parName;
_material = parMaterial;
@@ -60,8 +68,8 @@ public class Tool
///
/// Печатает детали инструмента, включая его имя, материал и вес.
///
- public void Print()
+ public string Print()
{
- Console.WriteLine($"Инструмент: {Name}, Материал: {Material}, Вес: {Weight}");
+ return $"Инструмент: {Name}, Материал: {Material}, Вес: {Weight}";
}
}
diff --git a/Tool/src/Trimmer.cs b/Tool/src/Trimmer.cs
index 296bcd2..5339eb7 100644
--- a/Tool/src/Trimmer.cs
+++ b/Tool/src/Trimmer.cs
@@ -11,7 +11,7 @@ public class Trimmer : ElectricTool
///
/// Режим работы
///
- public TrimmerMode Mode => _mode;
+ public TrimmerMode Mode { get => _mode; set => ChangeMode(value); }
///
/// Инициализирует новый экземпляр класса с указанным именем, материалом, весом и мощностью