Olá,
o método alteraNome não deveria ser chamado apenas na classe pai "Pessoa"?
No meu entendimento, quem altera o nome é a pessoa não o funcionário.
Porém, se a pessoa for apenas uma abstração, realmente as alterações deverão ser feitas apenas nas classes filhas. Seria este o raciocínio, ou apenas me confundi nos conceitos?