É quando temos uma classe abstrata que define um esqueleto de códigos para uma operação, permitindo que suas sub classes alterem seus métodos ( caso haja necessidade ) ou, permaneçam com o valor da super classe.
Caso de uso:
Quando temos várias classes com comportamentos em comum. Evitando duplicidade de códigos.
Quando queremos que a super classe implemente partes que não variam de um algoritimo, deixando o restante com a sub classe.
Estrutura:
Vantagens:
- Pode-se reaproveitar o código de métodos da super classe, utilizando o comando super.métodoDaSuperClasse();
- Utilizando este reaproveitamento de código podemos poupar tempo do desenvolvedor, não precisando reescrever o mesmo método diversas vezes.
Desvantagens:
- Pode aumentar o acoplamento.
Template impossibilita herdar qualquer outra classe, pois o cliente é obrigado a herdar sempre o template. Para contornarmos isso, necessitaríamos empilhar heranças, o que pode gerar acoplamento.
Nenhum comentário:
Postar um comentário
DÚVIDAS - CRITICAS - SUGESTÕES