foi criado uma classe chamada SistemaInterno aí foi implementado o método fa.autentica(this.senha), minha dúvida é como ele consegue implementar esse método se ele não (herda) estende a nenhuma classe e nem implementa a classe Autenticavel?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
foi criado uma classe chamada SistemaInterno aí foi implementado o método fa.autentica(this.senha), minha dúvida é como ele consegue implementar esse método se ele não (herda) estende a nenhuma classe e nem implementa a classe Autenticavel?
Fala Aldenor, tudo certo?
A implementação de uma interface obriga a implementação de todos seus métodos nas classes que a implementam. Sendo assim, todas as classes que implementarem a interface Autenticavel, precisam ter os métodos indicados por esta.
No entanto, nada impede outras classes que não se relacionam com a interface de especificar métodos com a mesma assinatura definida pela interface; isto é, todas as classes podem ter o método com a mesma assinatura, no entanto não vão conseguir usufruir dos benefícios da herança e polimorfismo. No exemplo da aula, o SistemaInterno não é um Autenticavel, apenas trata da autenticação das classes que são!
Em caso de dúvidas, estou à disposição.
Um grande abraço e bons estudos!