Professor. No exercício de Herança do curso de PHP II Avançado com OO na parte onde é informado para mudar o método BuscaProduto acredito que esteja incorreto, pois na opnião do instrutor é informado que o método buscaProduto() recebe como parâmetro o Objeto de protudo, onde na hora de chamar essa função em produto-altera-formulario.php é passado como parâmetro do $id.
//Inicio da função disponibilizada no exercício de Herança
function buscaProduto(Produto $produto) {
$id = $produto->getId();
//Chamada da função no arquivo produto-altera-formulario.php
$produto = $produtoDao->buscaProduto($id);
Poderia verificar?