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?
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!