1
resposta

Interfaces e códigos repetidos.

Com a criação da interface Autenticável, tive que fazer a cópia do código em 3 lugares, neste momento, onde temos Cliente, Administrador e Gerente.

Fiquei confuso com isso.

Pensei num caminho, mas acabaria caindo em dupla herança, o que é proibido.

1 resposta

Opa Bruno, tudo bem?

Essa seria uma "desvantagem" da interface, mas veja que agora temos mais flexibilidade para implementá-la em qualquer classe que necessite dos métodos contidos nela, isso sem violar nenhuma regra de negócio.

Caso estivéssemos lidando apenas com classes filhas de Funcionario, faria sentido usar uma classe FuncionarioAutenticavel que herda de Funcionario e possui o método autentica(). Porém, por conta do Cliente também precisar ser autenticável, isso quebra a regra de negócio já que não faz sentido ele herdar de FuncionarioAutenticavel também. Daí a ideia da criação de uma interface com um nome mais genérico que oferece mais flexibilidade.

Espero ter ajudado. Se ficou alguma dúvida é só avisar!

Bons estudos!!