ProghubPH

Какой принцип ООП необходимо использовать, чтобы заменить конструкции if-then-else в данном фрагменте кода:

 один вариант
if (animal.IsCat()) { /* код */ } 
else if (animal.IsDog()) { /* код */ } 
else if (animal.IsKoala()) { /* код */ } 
  . . . 
else if (animal.isMouse()) { /* код */ } 
Полиморфизм
Инкапсуляция
Агрегация
Композиция
Персистентность