В примере полиморфизма С# существует класс Cat, который наследует класс AnimalBase и интерфейс IAnimal.
Данная ссылка: http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming
Мой вопрос: почему используется как базовый класс, так и используемый интерфейс? Почему не тот или другой? Я думал о том, что для реализации полиморфизма потребуется только абстрактный класс.
Спасибо