16.2. Métodos template

Suponhamos agora que queremos ter um método, acessível a qualquer tipo de jogo, que devolva os nomes dos jogadores do jogo. Mas queremos que este resultado seja:

Uma implementação deste método poderia ser:

Em que classe devemos incluir este método? Se queremos que todos os subtipos de Jogo tenham exatamente este método, devemos inclui-lo na classe Jogo, para que seja herdado por todas as suas subclasses.

Mas na instrução if(this.terminou()) invocamos o método terminou() que é abstract na classe Jogo! Não há problema:

 

Diz-se que este é um método template ou implementação esqueleto

 

 

 


 

Anterior: 16.1. A classe abstrata Jogo