No capitulo de Interfaces, é utilizado um exemplo onde existe uma classe abstrata Funcionario e subclasses Gerente e Diretor. Gerente e Diretor precisam autenticar em um sistema, logo é criada uma interface Autenticavel. Gerente e Diretor estendem Funcionario e implementam Autenticavel. O mesmo acontece com Cliente e Fornecedor que apenas implementam Autenticavel, pois autenticam no sistema mas não são funcionários. Até ai tudo bem.
A minha dúvida está no momento em que eu preciso criar manualmente o atributo senha em Gerente, Diretor, Cliente e Fornecedor. Esse atributo é necessário para poder implementar o método de autenticação da interface Autenticavel que todos estes implementam. Qual seria a forma mais correta de não repassar a responsabilidade da criação deste atributo senha para todos que necessitam implementar Autenticavel? Sei que não posso colocar o atributo senha em Funcionario por que nem todos os funcionarios são autenticaveis e mesmo assim não chegaria até Cliente e Fornecedor por que estes não estendem Funcionario.
Ou não, realmente o melhor caminho é que toda classe que implemente Autenticavel crie o atributo senha manualmente já que sem este atributo o método de autenticação não funcionaria.
abraços!