Olá José, tudo bom?
Então, dei uma olhada no seu código, e o erro está na property binding aplicada no AnimalComponent.
<img [src="url"] [alt="descricao"] class="img-thumbnail">
O atributo src
e alt
devem receber o valor das propriedades passadas como valor destes atributos, sendo assim, o nome dos atributos devem está envolvidos com os colchetes, desta forma:
<img [src]="url" [alt]="descricao" class="img-thumbnail">
Assim, o Angular saberá que estes atributos da tag <img>
criada no template irão receber as informações contidas nas propriedades presentes na classe com componente.
Para entender melhor, dá uma lida na documentação do Angular sobre Property Binding.
Espero ter ajudado.
Abraço.