Yet another Object-Oriented Programming core principle.
Polymorphism ("many forms") allows us to create an object that may take many forms thanks to declaring abstract
methods (the ones that don't have a body) in the abstract
class.
Then, we will implement the abstract
methods of the class in the classes that extend this class.