Mehr Sinn würde es für mich machen, wenn die Funktion im Interface schon etwas "macht" und man in der jeweiligen Funktion nicht nochmals die Funktion schreiben muss.
Ein Interface sagt nur, dass die Klasse die es implementiert etwas bestimmtes kann. Wie diese Klasse das macht, weiß das Interface nicht.
IHaustier sagt also, ein Haustier "kann getName". Was getName genau tut, kommt aufs jeweilige Haustier an.
Das was du meinst wäre eine Basisklasse mit einer Funktion die für alle Haustiere gleich ist.