Представьте, что у меня есть класс с именем Engine в качестве абстрактного базового класса. У меня также есть классы ElectrictEngine и FuelEngine, которые происходят от него.
Я хочу создать метод для заправки двигателя.
Должен ли я сделать это как абстрактный метод на уровне базового класса и назвать его в общем стиле, например, fillUpEnergy?
Проблема в том, что, если у меня есть электрический двигатель, число параметров, которые принимает метод, отличается от количества параметров, которые необходимо передать для топливного двигателя. Итак, подпись метода другая.
Кроме того, есть ли какой-нибудь разумный способ использовать универсальный метод для обоих движков, но обернуть его более конкретным именем? Например: для топливного двигателя «заправка», а для электрического двигателя «заряд батареи»? И в то же время скрыть универсальный метод от пользователя?