Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Dúvida

O professor criou uma classe de FuncionarioAutenticavel, porque se ele tivesse deixado o método de autentica na classe mãe Funcionario, todos os filhos teriam acesso a esse método, daí não faria sentido, pois somente o Gerente e o Administrador podem ter acesso a esse método. É por causa disso?

1 resposta
solução!

Olá Lucas! Tudo bem?

Isso mesmo! Na situação exemplo existe a necessidade de identificar quais funcionários podem ter acesso ao sistema da empresa, com isso tendo uma senha para o sistema.

Se mantemos o acesso ao sistema na classe Funcionario, todas as classes que herdam dessa, passariam a ter acesso ao sistema, e não apenas o administrador e o gerente... e isso não é interessante para a nossa situação, como o instrutor nos mostra na aula.

Para resolver isso, podemos utilizar a classe FuncionarioAutenticavel, que herda diretamente da classe Funcionario, mas que possibilita que todas as classes que herdam da FuncionarioAutenticavel tenham também acesso ao sistema. Então passamos a ter a estrutura abaixo:

Estrutura das classes Funcionario, FuncionarioAutenticavel, Administrador, Gerente, EditorVideo e Designer. Temos as classes EditorVideo e Designer herdando diretamente da classe abstrata Funcionario, enquanto as classes Administrador e Gerente herdam da classe abstrata  FuncionarioAutenticavel que por sua vez herda da classe abstrata Funcionario.

Repare que Administrador e Gerente continuam sendo funcionários, pois a classe FuncionarioAutenticavel herda da classe Funcionario... mas ao mesmo tempo eles possuem também os métodos que a classe FuncionarioAutenticavel os passa por meio da herança, coisa que não ocorre para o EditorVideo e para o Designer.

Dessa forma mantemos o acesso ao sistema apenas para os funcionários que realmente necessitam desse acesso.

Consegui te ajudar nessa dúvida? Se ainda precisar de ajuda, é só falar!

Se achar interessante ter um material adicional para te ajudar nos estudos de orientação a objetos, recomendo a apostila da Caelum:

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!