我有一个机器类和一个电机类。事实是电机类从机器类继承了一个字段Fuel,我需要删除它或重命名它只是因为电机没有燃料但有电荷。
class Car
{
public int MaxSpeed = 180;
public int Range = 100;
public int CurrentSpeed = 100;
public int Fuel = 100;
public void Drive()
{
if (Fuel <= 0)
throw new Exception("Not enough fuel");
else
{
this.Fuel--;
Range -= Range / CurrentSpeed;
}
}
}
class ElectroCar : Car
{
int Charge;
public ElectroCar()
{
Charge = base.Fuel;
}
}
没门。
如果祖先类的字段在后代类中没有意义,那么您构建的继承层次结构不正确。
有不同的方法可以改善这种情况。例如:将常用的y
Car和提取ElectroCar到基类Vehicle中,Car重命名为FuelCar,让燃料相关的属性只包含FuelCar。我建议添加 Source 枚举
将燃料字段替换为 Sources 类型的 powerSource 并添加一个数字 powerIndex 字段,用于表征能源消耗的数字指标