3
respostas

Esclarecimento sobre a diferença do resultado: 5475.0 ou 5575.0?

A fim de esclarecer esta dúvida e deixar, de fácil e rápido acesso aos alunos, criei este tópico. O resultado correto é 5575.0. Conforme a foto abaixo, destaquei o erro no qual o código que nosso professor cometeu... Gerente para "g", Funcionário para "f" e Editor de Vídeo para "ev", lembrando que somos humanos e erros acontecem. Erro do código da aula Código corretoResultado do Código correto

3 respostas

Oi Renan! Tudo certo?

Muuuito obrigada por ter compartilhado esse esclarecimento! Essa é uma dúvida bastante recorrente no fórum e tenho certeza que seu tópico vai ajudar quem está com a mesma dúvida. Vou deixar fixado para ter mais visibilidade.

Qualquer dúvida, fique à vontade em comoartilhar por aqui. Abraços e bons estudos!

Obrigado pelo esclarecimento!

O que foi feito, é que inicialmente foi criado para mostrar o método autentica, específico para o objeto Gerente, por isso foi feito Gerente g1 = Gerente(0);, porém o que acontece agora se usarmos o polimorfismo é que o método g1.autentica(0); deixa de compilar, indicando que precisamos criar um método dentro do objeto Funcionário, porém isso perderia a exclusividade da senha para o Gerente!

Eu achei interessante sua correção, mas surge esse problema. Ao fazer dessa forma, o método autentica deixa de funcionar para Gerente, que é um atributo que pertece apenas a ele.

Como sou iniciante, a solução sugerida pelo Eclipse foi ((Gerente) g1).autentica(2222);, voltando a funcionar. Existe um modo mais simples? Como eu olharia para essa linha tentando traduzir o feito?

Eu vi aqui (https://cursos.alura.com.br/forum/topico-chamando-um-metodo-da-classe-gerente-tendo-estanciado-o-gerente-como-funcionario-128547) um questionamento com relação a isso, porém não ficou claro para mim. Entendi sobre o casting, mas nesse caso, para mim, não parece uma questão de casting, pois não pretendo atribuir valor de um tipo a outro numa variável, mas apontar que o método se refere a tal objeto, nesse caso, Gerente, e somente a ele.

Obrigado