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