Да, нужно больше подробностей:
Насколько глубоко функция должна знать реализации? Насколько отличается поведение? Возможно, в наследниках удастся дополнить/переопределить поведение родителя. Возможно вообще нужна пачка функций, которая зависит от реализаций