请考虑我有一些摘要Vehicle
类和汽车,卡车,摩托车抽象类派生从Vehicle
。另外想象一下,我必须能够为卡车和摩托车制造基于燃料的汽车或电动汽车等。 (具体类)我怎样才能制作一个不同签名的多态方法
两个问题:
1.Consider,我想填补能量的车辆不知道它是什么,在一个多态的方式。例如,如果车辆燃料为基础的我想与燃料填充和方法应符合3个参数:
void FillUpEnergy(EfuelType i_fuelType,int amounOfEnergy, int maxAmountOfEnergy)
但基于electricy车辆,我需要几乎同样的功能signture但这次没有燃料类型当然,例如(2个参数):
void FillUpEnergy(int amounOfEnergy, int maxAmountOfEnergy)
我可以做一个polymorhic FillUpEnergy
方法与上述限制? (不同方法的签名)
2.In我实现所有的具体类保持Engine
代表一个FuelEngine
或ElectricEngine
(其它具体的类我有一个从发动机派生)的参考(另一个抽象类)。例如,我有一个名为ElectricCar
的具体类,其中包含ElectricEngine
的参考。
这个架构是否足够好或者有更好的方法来实现车库系统? (在面向对象的设计等方面)
我不太拿到1)对于2),这就是所谓的桥,它的设计模式之一。 – 2012-08-06 21:44:15
桥梁模式是我的第一个想法。 – 2012-08-06 22:06:44