Ed
há 3 dias
Vamos analisar a questão passo a passo: - A classe abstrata Funcionario define o método calcularSalario(). - As subclasses (FuncionarioHorista, FuncionarioComissionado, FuncionarioMensalista) implementam esse método de formas diferentes. - O sistema mantém uma coleção do tipo Funcionario e chama calcularSalario() para cada elemento. Em Programação Orientada a Objetos, isso é um exemplo clássico de polimorfismo: o método chamado é o da classe real do objeto, mesmo que a referência seja do tipo da superclasse. Analisando as alternativas: a) Incorreta — cada tipo de funcionário calcula o salário de forma diferente, não pela mesma fórmula. b) Correta — o método correspondente ao tipo real do objeto será executado (polimorfismo). c) Incorreta — a classe abstrata Funcionario não implementa o método, ou se implementa, não é o método que será executado para as subclasses. d) Incorreta — objetos de subclasses podem sim ser armazenados em coleções da superclasse. e) Incorreta — não é necessário converter objetos para tipos primitivos para executar métodos. Resposta correta: b. O método correspondente ao tipo real de cada objeto será executado.