Polymorphism generalizes a functionality so it can work on different types. It’s an important concept in object-oriented programming.
We can define the same method on different classes:
class Dog:
def eat():
print('Eating dog food')
class Cat:
def eat():
print('Eating cat food')
Then we can generate objects and we can call the eat()
method regardless of the class the object belongs to, and we’ll get different results:
animal1 = Dog()
animal2 = Cat()
animal1.eat()
animal2.eat()
We built a generalized interface and we now do not need to know that an animal is a Cat or a Dog.