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