Oi Breno, tudo bom?
Realmente, quando optamos por utilizar interfaces não estamos nos preocupando em como cada classe vai implementar aquele método. Se um método tem a mesma implementação para diversas classes é possivel que elas tenham algo em comum semanticamente.
Uma forma de reaproveitar o código, quando a semantica faz sentido, seria utilizar uma super classe para todas. Na verdade essa é a unica forma de reaproveitar o conteudo escrito. Entretanto, nem sempre a quantidade de linhas será um bom parametro para um bom código.
Vale muito mais a pena manter a semantica e escrever mais código do que utilizar herança apenas por aproveitamento. Isso é, do ponto de vista da facilidade para dar manutenção no software.
Aqui no blog da caelum, o Paulo Silveira fala um pouco sobre herança e alguns pontos que costumam ficar confusos pra gente =)
Qualquer duvida é só falar.
Abraço e bons estudos =)