Tool: implement ICloneable
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/// <summary>
|
||||
/// Электрический инструмент для косьбы
|
||||
/// </summary>
|
||||
public class ElectricTool : Tool
|
||||
public abstract class ElectricTool : Tool
|
||||
{
|
||||
/// <summary>
|
||||
/// Мощность электроинструмента
|
||||
|
||||
@@ -57,4 +57,14 @@ public class Lawnmower : ElectricTool
|
||||
{
|
||||
_fuelLevel = _fuelCapacity;
|
||||
}
|
||||
|
||||
public override object Clone()
|
||||
{
|
||||
var lawnmower = new Lawnmower(Name, Material, Weight, Power, FuelCapacity)
|
||||
{
|
||||
_fuelLevel = FuelLevel
|
||||
};
|
||||
|
||||
return lawnmower;
|
||||
}
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
/// <summary>
|
||||
/// Ручной инструмент для косьбы
|
||||
/// </summary>
|
||||
public class ManualTool : Tool
|
||||
public abstract class ManualTool : Tool
|
||||
{
|
||||
/// <summary>
|
||||
/// Длина рукояти ручного инструмента в метрах
|
||||
|
||||
@@ -78,4 +78,9 @@ public class Scissors : ManualTool
|
||||
|
||||
return accuracy;
|
||||
}
|
||||
|
||||
public override object Clone()
|
||||
{
|
||||
return new Scissors(Name, Material, Weight, HandleLength, BladeSize);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,4 +36,9 @@ public class Scythe : ManualTool
|
||||
{
|
||||
_bladeType = parNewBladeType;
|
||||
}
|
||||
|
||||
public override object Clone()
|
||||
{
|
||||
return new Scythe(Name, Material, Weight, HandleLength, BladeType);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/// <summary>
|
||||
/// Инструмент для косьбы
|
||||
/// </summary>
|
||||
public class Tool
|
||||
public abstract class Tool : ICloneable
|
||||
{
|
||||
/// <summary>
|
||||
/// Уникальный идентификатор инструмента
|
||||
@@ -72,4 +72,6 @@ public class Tool
|
||||
{
|
||||
return $"Инструмент: {Name}, Материал: {Material}, Вес: {Weight}";
|
||||
}
|
||||
|
||||
public abstract object Clone();
|
||||
}
|
||||
|
||||
@@ -35,4 +35,14 @@ public class Trimmer : ElectricTool
|
||||
{
|
||||
_mode = parMode;
|
||||
}
|
||||
|
||||
public override object Clone()
|
||||
{
|
||||
var trimmer = new Trimmer(Name, Material, Weight, Power)
|
||||
{
|
||||
_mode = Mode
|
||||
};
|
||||
|
||||
return trimmer;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user