Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it.

Source: What is the Liskov Substitution Principle?

If it looks like a duck, quacks like a duck, but needs batteries, you probably have the wrong abstration