【发布时间】:2011-08-01 14:40:48
【问题描述】:
想象一下,我有一个名为 Engine 的类作为抽象基类。我还有派生自它的 ElectrictEngine 和 FuelEngine 类。
我想创建一种为发动机加油的方法。 我是否应该将其作为基类级别的抽象方法并以通用方式命名,例如 fillUpEnergy?
问题是,如果我有一台电动发动机,该方法采用的参数数量与燃料发动机需要传递的参数数量不同。所以,方法的签名是不同的。
此外,是否有任何聪明的方法可以为两个引擎使用通用方法,但将其包装在更具体的名称中?例如:对于燃油发动机,“refuel”,对于电动发动机,“chargeBattery”?同时对用户隐藏通用方法?
【问题讨论】:
-
电动和燃油发动机的 Refuel 是否有任何通用参数?
标签: c# abstract-class virtual-functions abstract-methods