Olá Davi, tudo bem?
Não sei se teve alguma duvida, mas vou tentar te ajudar esclarecendo alguns pontos, tá ?
O polimorfismo é uma técnica que permite que objetos de diferentes classes sejam tratados de forma semelhante, desde que implementem a mesma interface ou herdem da mesma classe abstrata. No código que você postou, a classe Cachorro implementa a interface Animal, o que significa que ela pode ser tratada como um Animal em qualquer lugar do código.
Já a sobrescrita é uma técnica que permite que uma classe filha substitua a implementação de um método da classe pai. No caso do seu código, a classe Cachorro sobrescreve os métodos emitirSom(), andar() e comer() da classe Animal.
O método saberIdade() da classe Cachorro não está presente na classe Animal, o que significa que ele não pode ser chamado em um objeto Animal. No entanto, ele pode ser chamado em um objeto Cachorro.
Se tiver mais alguma dúvida, é só perguntar!
Espero ter ajudado e bons estudos!