Полиморфизм — это способность программы выбирать различные реализации, при вызове операций с одним и тем же названием.
С другой стороны, полиморфизм — это способность объектов притворяться чем-то другим. В приведённом выше примере, собаки и коты «притворялись» абстрактными животными.